获取脚本所在路径

有两种方法:区别暂时不知道

[原文地址][1]
[1]:http://www.jb51.net/article/59949.htm
第一种:
下面是一个最简单的实现,可以解决大多数问题,缺陷是对于软链接显示的是软链接所在的目

#!/bin/bash
DIR="$( cd "$( dirname "$0"  )" && pwd  )"

第二种;
这个版本解决了使用ln -s target linkName创造软链接无法正确取到真实脚本的问题

#!/bin/bash
#获取脚本所在路径
SOURCE="$0"
while [ -h "$SOURCE"  ]; do # resolve $SOURCE until the file is no longer a symlink
filePath="$( cd -P "$( dirname "$SOURCE"  )" && pwd  )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /*  ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
filePath="$( cd -P "$( dirname "$SOURCE"  )" && pwd  )"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容