The POSIX pedoman sintaks utilitas (khusus # 13) menentukan bahwa untuk utilitas yang mengharapkan nama file untuk membaca dari, -
berarti input standar, dan untuk utilitas yang mengharapkan nama file untuk menulis untuk, -
berarti output standar. Misalnya, cat somefile -
menyalin konten somefile
ke output standarnya, diikuti oleh apa yang dibacanya pada input standarnya.
Pedoman ini tidak berlaku untuk cd
perintah karena tidak membaca atau menulis ke file. cd
melakukan sesuatu yang berbeda: argumennya -
berarti "direktori sebelumnya". Perintah cd -
ini setara dengan cd "$OLDPWD" && pwd
. Perilaku ini khusus untuk cd
perintah, dan untuk perintah yang terinspirasi langsung seperti pushd
.
Perhatikan bahwa itu -
adalah operan, bukan opsi. Hanya argumen yang dimulai dengan -
dan bukan hanya pilihan -
atau --
opsi. Implikasi utama dari menjadi seorang operan adalah hal --
itu tidak memengaruhi makna khususnya. Misalnya, cd -- -P
perubahan ke subdirektori yang dipanggil -P
, tetapi cd -- -
sama dengan cd -
, tidak berubah menjadi direktori yang disebut -
. Demikian pula, cat -- -
tidak membaca dari file yang dipanggil -
tetapi dari input standar.
cd
adalah builtin, bukan perintah eksternal (juga tidak akan ada cara bahkan berfungsi sebagai satu).cd -
dengan demikian merupakan fitur level shell.