我正在尝试修改某人的脚本,其中的某些部分确实让我感到困惑。如下图所示。
if [[ ! -f "${0%/*}/somefile" ]]; then
echo "Cannot find somefile, quiting..." >&2
exit 1
else
source "${0%/*}/somefile"
fi
我知道它正在检查文件是否存在,并使用此代码${0%/*}
尝试获取当前目录,但是它对我而言不运行。我修复它的方法是用pwd
效果更好的代替它。
我只是想知道是否有人可以向我详细说明那部分代码${0%/*}
想要做什么?
它不是要获取当前目录,而是要获取包含脚本的目录。$0
是脚本的名称,%/*
修饰符会删除脚本中的所有/
内容。
该脚本预期somefile
存在于安装脚本的目录中,而不是当前目录中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句