我cd . ~
在终端中尝试过,看到的结果与输入时相同cd ~ .
我想知道这是怎么做到的。或者更好地说,什么是优先事项的论点命令之后?
答案1
你看到了相同的结果,因为我确信你从你的主目录测试了这些命令,这相当于- 参见/home/your_username
~
波浪号扩展或$HOME
环境变量。为了正确测试,您应该使用:
cd / ; cd . ~
和:
cd / ; cd ~ .
一般来说如果你使用:
cd first_directory second_directory
您将把 shell 工作目录更改为first_directory
,而不是second_directory
,因此命令中的第二个参数cd
将被忽略(另请参阅help cd
以更好地理解)。
并且.
在这种情况下,(点)相当于pwd
命令给出的 shell 当前工作目录的路径(参见当前目录的命令行快捷方式类似于主目录的〜?)。
所以cd . ~
等价于cd .
, 等价于cd $(pwd)
, 且cd ~ .
等价于 ,cd ~
等价于cd $HOME
。
答案2
由于您是从主目录运行它们,因此会给出相同的结果。尝试移动到 /tmp 以观察不同的行为。
cd
仅考虑命令的第一个位置参数:
cd: usage: cd [-L|[-P [-e]]] [dir]