Который является различием между “CD ~”. и “CD. ~”

Я попробовал cd . ~ в терминале и я видел тот же результат как тогда, когда я ввожу cd ~ .

Я хочу знать, как это сделано. Или лучше сказать, каков приоритет аргументов, который прибывает после команды?

2
задан 3 April 2014 в 03:49

2 ответа

Вы видели тот же результат, потому что я уверен, что Вы тестируете те команды из своего корневого каталога, который является /home/your_username эквивалентный с ~ - посмотрите Расширение Тильды, или $HOME переменная среды. Для тестирования правильно необходимо использовать:

cd / ; cd . ~

и:

cd / ; cd ~ .

В целом, если Вы используете:

cd first_directory second_directory

Вы измените оболочку рабочий каталог на first_directory, не к second_directory, так второй аргумент в cd команда проигнорирована (см. также help cd понять лучше).

И . (точка) в этом случае эквивалентна с путем оболочки текущий рабочий каталог, которым дают pwd команда (см. ярлык Командной строки для текущего каталога, подобного ~ для корневого каталога?).

Так cd . ~ эквивалентно с cd . который эквивалентен с cd $(pwd) и cd ~ . эквивалентно с cd ~ который эквивалентен с cd $HOME.

5
ответ дан 27 August 2019 в 19:31

Это дает тот же результат, потому что Вы выполняете их из своего корневого каталога. Попытайтесь переместиться в/tmp для наблюдения другого поведения.

Только первый позиционный параметр cd команда принята во внимание:

cd: usage: cd [-L|[-P [-e]]] [dir]
2
ответ дан 27 August 2019 в 19:31

Другие вопросы по тегам:

Похожие вопросы: