В рекомендації утиліта синтаксис POSIX ( в Зокрема , # 13) вказують , що за комунальні послуги , які очікують ім'я файлу для читання з, -засоби стандартного введення, а також за комунальні послуги , які очікують ім'я файлу для запису в, -засоби стандартний висновок. Наприклад, cat somefile -копіюється вміст somefileна його стандартний висновок з подальшим прочитанням на його стандартному вході.
Це керівництво не застосовується до cdкоманди, оскільки воно не читає і не записує у файл. cdробить щось інше: аргумент -означає «попередній каталог». Команда cd -еквівалентна cd "$OLDPWD" && pwd. Така поведінка характерна як для cdкоманди, так і для безпосередньо надиханих команд, таких як pushd.
Зауважте, що -це операнд, а не варіант. Лише аргументи, які починаються -і не є просто, -або --є варіантами. Основний сенс бути операндом - це те, --що не впливає на його особливий сенс. Наприклад, cd -- -Pзміни в підкаталозі, який називається -P, але cd -- -це те саме cd -, що він не змінюється до каталогу, який називається -. Так само cat -- -не читається з файла, який називається, -але зі стандартного вводу.
cdце вбудована, а не зовнішня команда (і не було б ніякого способу навіть працювати як одна).cd -Таким чином, є функцією рівня оболонки.