$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 和单纯使用pwd的区别
时间: 2024-06-16 22:03:33 浏览: 90
$( cd "$( dirname "${BASH_SOURCE}" )" && pwd ) 是一个Shell命令,用于获取当前脚本所在的目录的绝对路径。它的作用是先通过dirname命令获取当前脚本所在的目录路径,然后通过cd命令进入该目录,最后使用pwd命令获取该目录的绝对路径。
与之相比,单纯使用pwd命令只能获取当前工作目录的绝对路径,而不是脚本所在的目录路径。如果在脚本中使用pwd命令,得到的是执行脚本时所在的工作目录的路径,而不是脚本文件所在的目录路径。
相关问题
$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
$( cd "$( dirname "${BASH_SOURCE}" )" && pwd ) 是一个Shell命令,用于获取当前脚本所在的目录的绝对路径。具体来说,这个命令会先获取当前脚本的目录路径,然后通过cd命令进入该目录,最后使用pwd命令获取该目录的绝对路径。
这个命令在脚本中的作用是获取当前脚本所在的目录路径,可以用于在脚本中进行文件操作、路径处理等。
ScriptPath="$( cd "$(dirname "$BASH_SOURCE")" ; pwd -P )"
这是一个bash脚本语句,用于获取当前脚本文件所在的绝对路径。
具体解释如下:
`ScriptPath=`:定义一个变量名为ScriptPath。
`$(dirname "$BASH_SOURCE")`:获取当前脚本所在目录的相对路径。
`cd "$(dirname "$BASH_SOURCE")"`:切换到当前脚本所在目录。
`pwd -P`:获取当前工作目录的绝对路径。其中,`-P`选项表示显示物理路径,而不是符号链接路径。
最终,这个语句将会把当前脚本文件所在目录的绝对路径保存到ScriptPath变量中。