bash shell获取当前脚本的绝对路径(pwd/readlink)

2022-09-19 17:36:30 70 0
魁首哥

有时候,我们需要知道当前执行的输出shell脚本的所在绝对路径,可以用dirname实现。
我们知道 dirname 可以获取一个文件所在的路径,dirname的用处是:

输出已经去除了尾部的恰卡编程网”/”字符部分的名称;如果名称中不包含”/”,
则显示”.”(表示当前目录)。

下面是dirname的命令行说明:

从上面的描述可知道,直接从dirname返回的未必是绝对路径,取决于提供给dirname的参数是否是绝对路径。
所以下http://www.cppcns.com面这样的代码中SHELL_http://www.cppcns.comFOLDER中不一定是绝对路径

SHELL_FOLDER=$(dirname "$0")

需要用cd和pwd命令配合获取脚本所在绝对路径,正确的写法是这样的,

SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)

如果你觉得上面的写法比较麻烦,还有一个方式获取脚本的绝对路径,就是借助readlink命令,下面是readlink的命令行说明:

所以用readlink命令我们可以直接获取$0参数的全路径文件名,然后再用dirname获取其所在的绝对路径:

SHELL_FOLDER=$(dirname $(readlink -f "$0"))

参考:

https://oss.qiaqa.com/article/2022/09/19/1039

http://blog.csdn.net/zz198808/article/details/9319479

到此这篇关于bash shell获取当前脚本的绝对路径(pwd/readlink)的文章就介绍到这了,更多相关bash shell获取当前脚本绝对路径内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

收藏
分享
海报
0 条评论
70
上一篇:Shell中关于exit 0的那些坑 下一篇:Shell获取路径操作(dirname $0 pwd)的实现

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码