获取当前目录并连接路径

ig

这是一个shell脚本(.sh文件)。我需要基于当前目录创建一个绝对路径。我知道pwd,但是如何将它与另一个字符串连接在一起?这是我要执行的操作的一个示例:

"$pwd/some/path"
迈克尔·艾伦

听起来像您想要的:

path="$(pwd)/some/path"

$(打开一个子外壳(并)关闭它),在该外壳中,内容作为脚本执行,因此所有输出都将放置在字符串中的该位置。


通常更有用的是获取正在运行的脚本的目录:

dot="$(cd "$(dirname "$0")"; pwd)"
path="$dot/some/path"

这更有用,因为无论您在哪里运行脚本,它都解析为相同的路径:

> pwd
~
> ./my_project/my_script.sh
~/my_project/some/path

而不是:

> pwd
~
> ./my_project/my_script.sh
~/some/path
> cd my_project
> pwd
~/my_project
> ./my_script.sh
~/my_project/some/path

更为复杂,但是如果通过符号链接执行了当前脚本的目录(例如,通过自制程序安装脚本时很常见),则需要运行该脚本,然后需要解析并遵循符号链接:

if [[ "$OSTYPE" == *darwin* ]]; then
  READLINK_CMD='greadlink'
else
  READLINK_CMD='readlink'
fi

dot="$(cd "$(dirname "$([ -L "$0" ] && $READLINK_CMD -f "$0" || echo "$0")")"; pwd)"

它需要更复杂和更有效的工作(例如,安装了与gnu兼容的readlink),所以我倾向于不使用它。仅在确定需要时,例如通过自制程序安装命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#如何获取当前目录路径

将文件名与当前目录路径连接

如何获取当前文件目录的完整路径?

如何获取文件的路径而不是当前工作目录

如何从Groovy的完整路径获取当前目录?

无法在Python(Linux)中获取当前目录路径

如何从git status获取相对于当前目录的路径?

OCaml:如何获取*当前模块* /项目目录的路径?

Windows Shell命令获取当前目录的完整路径?

如何从zathura获取当前文档目录路径

获取基于当前工作目录的文件路径?

PHP使用魔术常数__DIR__获取当前目录的先前目录路径

bash:从给定子目录名称的当前目录获取路径

如何获取当前目录相对于git存储库根目录的路径?

pathlib打印当前目录路径

当前工作目录的路径

如何在build.sbt中获取当前目标目录的路径

如何获取当前导演的相对路径,直到任意父目录?

如何从irb获取当前工作目录的绝对路径

如何使用Java从linux环境中获取tomcat中当前目录的相对路径

如何获取Qt应用程序的当前工作目录路径?

在Bash脚本中获取当前目录名称(无完整路径)

在Fish Shell中获取当前目录(没有完整路径)

如何仅获取当前可执行文件路径的目录部分?

获取当前工作目录名称而不是Node.js中的路径

如何在Windows Batch / Python文件中获取当前目录的路径?

获取连接ID的“路径”

如何获取当前工作目录(当前工作文件夹)名称而不是路径名称?

获取当前标记文件的路径