linux – $PWD总是等于${${: – .}:A}
发布时间:2020-12-14 01:43:29 所属栏目:Linux 来源:网络整理
导读:特定 现代Linux / UNIX / OSX zsh 5 setopt chase_links PWD没有设置异常 是 [[ "$PWD" == "${${:-.}:A}" ]] 总是如此吗? 解决方法 不,这并非总是如此: xvii:~ ls -l foolrwxrwxrwx 1 vinc17 vinc17 10 2014-07-05 01:12:06 foo - bar/subdir/xvii:~ bashv
特定
>现代Linux / UNIX / OSX 是 [[ "$PWD" == "${${:-.}:A}" ]] 总是如此吗? 解决方法
不,这并非总是如此:
xvii:~> ls -l foo lrwxrwxrwx 1 vinc17 vinc17 10 2014-07-05 01:12:06 foo -> bar/subdir/ xvii:~> bash vinc17@xvii:~$cd foo vinc17@xvii:~/foo$pwd /home/vinc17/foo vinc17@xvii:~/foo$zsh -f xvii% echo $PWD /home/vinc17/foo xvii% setopt chase_links xvii% echo $PWD /home/vinc17/foo xvii% echo "${${:-.}:A}" /home/vinc17/bar/subdir xvii% pwd /home/vinc17/bar/subdir 但是如果zsh在没有符号链接段的当前工作目录中启动,那么当前工作目录将永远不会在cd(或等效的)和..或之后具有符号链接段.因为在更改目录时它们已被解析,所以在当前工作目录中是不可能的,因此如果目录仍然存在,$PWD和${${: – .}:A}应该是等效的(见下文). 在上面的例子中,在cd.之后,zsh将$PWD更新为/ home / vinc17 / bar / subdir.但是,一张CD.在所有情况下都不会使两种形式都相同: xvii% mkdir my_dir xvii% cd my_dir xvii% rmdir ../my_dir xvii% echo $PWD /home/vinc17/my_dir xvii% echo "${${:-.}:A}" /home/vinc17/my_dir xvii% pwd /home/vinc17/my_dir xvii% cd . xvii% echo $PWD /home/vinc17/my_dir xvii% echo "${${:-.}:A}" xvii% pwd . xvii% echo "$(realpath .)" .: No such file or directory (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |