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

 

posted @ 2022-09-26 20:57  猪脚踏浪  阅读(1764)  评论(0编辑  收藏  举报