欢迎来到代码驿站!

Shell

当前位置:首页 > 脚本语言 > Shell

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

时间:2022-08-09 08:31:24|栏目:Shell|点击:

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

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

下面是dirname的命令行说明:

这里写图片描述

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

SHELL_FOLDER=$(dirname "$0")

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

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

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

这里写图片描述

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

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

参考:

http://my.oschina.net/leejun2005/blog/150662

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

上一篇:jenkins+shell自动化部署的实现步骤

栏    目:Shell

下一篇:没有了

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

本文地址:http://www.codeinn.net/misctech/210260.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有