linux shell 获取当前脚本目录
获取当前脚本目录
DIR="$( cd"$( dirname"${BASH_SOURCE[0]}" )" && pwd )"
详细解释如下:
${BASH_SOURCE[0]}表示bash脚本的第一个参数,获取当前执行的shell文件所在的路径及文件名
dirname表示提取参数里的目录,去除文件名
cd表示切换到提取到的目录
pwd显示当前目录并将结果赋给DIR
获取到提取参数里目录的上一级目录
DIR=$(cd "$( dirname ${BASH_SOURCE[0]})"; cd ..; pwd)
dirname指令
功能:从给定的包含绝对路径的文件名中去除文件名,即非目录的部分,然后返回剩下的路径,即目录部分
用法:dirname filename
#dirname /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts
basename指令
功能:从给定的包含绝对路径的文件名中去除左边目录部分或者同时去除某个后缀的内容(目录部分),然后返回剩下的部分(非目录的部分)
用法:basename filename [suffix]
#basename /etc/sysconfig/network-scripts/ifcfg-eth0
ifcfg-eth0