hol*_*web 6 shell symbolic-link
在遵循符号链接后,如何让 shell 理解完整路径。在下面的示例中,我希望第一个“pwd”命令报告“/Users/sholden/Projects/PS1/examples”,而“cd ..”命令将我带到 /Users/sholden/Projects/PS1/而不是回到我的主目录。我对在 Bourne shell 中执行此操作的设置(或者是 Korn?*)的记忆模糊,但我无法挖掘 25 年前的细节......
AirHead:~ sholden$ ls -ld examples
lrwxr-xr-x 1 sholden staff 53 Nov 15 09:33 examples -> /Users/sholden/Projects/PS1/examples
AirHead:~ sholden$ cd examples
AirHead:examples sholden$ pwd
/Users/sholden/examples
AirHead:examples sholden$ cd ..
AirHead:~ sholden$ pwd
/Users/sholden
AirHead:~ sholden$
Run Code Online (Sandbox Code Playgroud)
是不是“设置了困难路径”?提前致谢。
* 两者都不是 - 当时我是csh用户。
小智 6
你应该使用cdwith-P选项来做到这一点。
来自 man pange:
-P Handle the operand dot-dot physically; symbolic link components shall be resolved before dot-dot components
are processed (see step 7. in the DESCRIPTION).
Run Code Online (Sandbox Code Playgroud)
展示它是如何工作的小测试:
kent@ArchT60:/tmp$ ls -ld /opt/google/picasa/
drwxr-xr-x 3 root root 4096 Aug 5 2010 /opt/google/picasa/
kent@ArchT60:/tmp$ ln -s /opt/google/picasa/ cdLink
kent@ArchT60:/tmp$ ls -l cdLink
lrwxrwxrwx 1 kent kent 19 Nov 15 21:23 cdLink -> /opt/google/picasa/
kent@ArchT60:/tmp$ cd -P cdLink
kent@ArchT60:/opt/google/picasa$ pwd
/opt/google/picasa
kent@ArchT60:/opt/google/picasa$ cd /tmp/cdLink
kent@ArchT60:/tmp/cdLink$
kent@ArchT60:/tmp/cdLink$ cd -P ..
kent@ArchT60:/opt/google$
Run Code Online (Sandbox Code Playgroud)
我认为上面的示例显示了您正在寻找的内容。
| 归档时间: |
|
| 查看次数: |
677 次 |
| 最近记录: |