我有一个名为 abc.sh 的简单脚本,如下所示,它设置环境变量
#!/bin/bash
sourcePath () {
filename=`basename $0`
current_dir="./"$filename
if [ "$current_dir" = "$0" ]; then SRC_DIR=$(pwd)
SRC_DIR=$(cd "$SRC_DIR/.."; pwd)
else SRC_DIR=$(cd "$(dirname "$0")/.."; pwd)
fi
}
sourcePath
echo $SRC_DIR
export SRC_DIR
我希望这个脚本在我当前的 shell 环境中设置变量 SRC_DIR。因此,当我执行 source abc.sh 时,我收到一条错误消息,指出 dirname 的选项无效。但是如果我用 ./abc.sh 运行这个文件,我不会得到任何错误,但是它不会导出变量