获取shell脚本自身所在目录 【转】
2017-01-03 17:25
316 查看
原文出处:获取shell脚本自身所在目录的Shell脚本分享
简单版
下面是一个最简单的实现,可以解决大多数问题,缺陷是对于软链接显示的是软链接所在的目录
lineos:false
复制代码代码如下:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" && pwd )" # 脚本所在目录
script_name=$(basename ${0}) # 脚本名称
完善版
这个版本解决了使用ln -s target linkName创造软链接无法正确取到真实脚本的问题。
lineos:false
复制代码代码如下:
#!/bin/bash
SOURCE="$0"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( 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
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
简单版
下面是一个最简单的实现,可以解决大多数问题,缺陷是对于软链接显示的是软链接所在的目录
lineos:false
复制代码代码如下:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" && pwd )" # 脚本所在目录
script_name=$(basename ${0}) # 脚本名称
完善版
这个版本解决了使用ln -s target linkName创造软链接无法正确取到真实脚本的问题。
lineos:false
复制代码代码如下:
#!/bin/bash
SOURCE="$0"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( 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
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
相关文章推荐
- 获取shell脚本自身所在目录的Shell脚本分享
- 获取shell脚本自身所在目录的Shell脚本分享
- 获取shell脚本自身所在目录的Shell脚本分享
- 获取shell脚本自身所在目录的Shell脚本分享
- Shell中获取脚本所在目录绝对路径的方法
- Shell中获取脚本所在目录绝对路径的方法
- linux上获取shell脚本所在目录
- [Linux] 获取Shell脚本自身所在位置的绝对路径;
- shell 获取脚本所在目录的方法
- Shell使用笔记-获取当前脚本所在的目录
- Shell中获取脚本所在目录绝对路径的方法
- Python获取脚本所在目录的正确方法
- shell得到脚本文件所在目录
- Python获取脚本所在目录的正确方法
- shell获得当前脚本所在目录
- win7中以管理员身份运行bat脚本时,获取当前文件所在目录
- linux获取shell脚本所在绝对路径操作介绍
- 获得Shell脚本所在目录的绝对路径 (转载)
- Shell 获取Shell所在目录
- Python获取脚本所在目录的正确方法【转】