我正在编写一个shell脚本,它解析当前工作目录的路径(打印当前目录上方的所有基本名称).
到目前为止,我一直在使用环境变量PWD来解析路径,但我想知道是否
PWD永远定下来使用pwdshell-builtin 可能会更好吗?我需要这个脚本在尽可能多的平台上运行,所以我只是想知道......
Mat*_*Mat 24
POSIX需要$PWD以下列方式设置:
Run Code Online (Sandbox Code Playgroud)PWD此变量应表示当前工作目录的绝对路径名.它不应包含任何点或点的组件.该值由cd实用程序设置,在初始化期间由sh实用程序设置.
所以,你可以依靠的存在集-但是,请注意"......绝对路径...",而不是在绝对路径.
bash(至少最新版本)会记住你在设置$PWD(和pwd内置)时遵循的符号链接.command pwd(即外部命令)不会.所以你会得到不同的结果,这可能对你很重要,也可能不重要.pwd -P如果您想要一个没有符号链接的路径,请使用.
请注意pwd文档说明:
如果应用程序设置或取消设置PWD的值,则未指定pwd的行为.
所以,不要那样做:)
简而言之,这里没有赢家.环境变量将存在于POSIX shell中,外部命令也可能存在,也可能是内置命令.选择最适合您需求的那个,重要的是您是否关心符号链接.
| 归档时间: |
|
| 查看次数: |
6863 次 |
| 最近记录: |