在Linux 系统运维中我们经常使用到 shell 脚本完成某些工作,经常遇到跟脚本目录相关的逻辑,以下 shell 脚本可以在运行中正确获取当前脚本运行路径:

function in_script_path()
{
    fc=`expr substr "$0" 1 1`
    if [ "$fc" != "/" ];then
        cscript=$(pwd)/$0
    else
        cscript=$0
    fi
    script_path=`dirname $cscript`
    script_name=`basename $cscript`
    cd "$script_path" 
    script_path=`pwd`
}

函数设置: script_name 为脚本名, script_path 为脚本路径

以下方式运行均可以:

相对路径: ./sss.sh

相对路径: up/sss.sh

绝对路径: /home/up/sss.sh



本文系本站原创,转载请注明出处:http://xrkmonitor.com/a/shell_dir.html