0

我正在尝试将以下脚本从 BASH 转换为 ZSH,但 POPD 无法正常工作......有人可以帮帮我吗?

runMyScript() {
  if [[ -e $PROJECTS_HOME/myFolder/myScript.sh]]; then
    pushd $PROJECTS_HOME/myFolder > dev/null
    . ./myScript.sh
    popd > dev/null
  else
    ... //Do something else instead
  fi
}
runMyScript

错误是这个

myScript:popd:5: directory stack empty

现在我知道这意味着什么,但我似乎无法修复它......我也在努力寻找有意义的修复。

如果我手动运行脚本,它似乎工作正常,但如果我通过调用 runMyScript 来运行它,那它似乎就失败了。

有人可以帮帮我吗?

4

1 回答 1

1

我根据@shellter 的一些反馈更改了脚本,现在脚本似乎正在运行......新代码看起来像这样;

runMyScript() {
  if [ -f "$PROJECTS_HOME"/myFolder/myScript.sh]; then
    pushd "$PROJECTS_HOME"/myFolder
    . ./myScript.sh
    popd
  else
    // CREATE the variables needed to run this script
  fi
}
runMyScript
于 2019-07-01T13:43:05.023 回答