问题:

问题:

问题:

当我尝试打开任何 shell 脚本时,会生成一个新窗口,该窗口会立即退出。文件.bash_profile.bashrcahelloworld.sh是经过测试的示例。

有趣的是,运行open helloworld.sh输出:

Jake:~ jakebanks$ /Users/jakebanks/helloworld.sh; exit;
Hello World!
logout

这似乎表明它执行成功。echo ${PIPESTATUS[0]}(在第一个窗口中)的输出是0

配置:

最近,我将默认终端更改为 iTerm2,这是我记得在出现此问题之前所做的最新更改。

  • 默认文本编辑器是 Sublime Text 2。
  • 默认 shell 是 bash。
  • FWIW,这个问题与终端无关。

内容为.bash_profile(目前):

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH

.bashrc 的内容:

#!/bin/bash
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/jakebanks/.sdkman"
[[ -s "/Users/jakebanks/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/jakebanks/.sdkman/bin/sdkman-init.sh"

我尝试过的:

  • 更换外壳
  • 成功打开非 shell 脚本文件(例如文本文件)
  • 在终端和 iTerm2 中将配置文件重置为其默认值

解决方案:

事实证明,我对如何从终端调用 shell 脚本感到困惑。该命令实际上应该是sh helloworld.sh, 而不是open helloworld.sh

相关内容