无法运行Shell脚本

时间:2019-09-24 02:31:07

标签: bash terminal homebrew macos-mojave

我最近在Macbook Pro上重新安装了Mojave。在安装之前,我已经编写了几个bash脚本,通过双击它们可以执行所有脚本。它们都是.command扩展名。对于每个文件,我都运行chmod + x使其可执行。每个脚本中的shebang是:#! /usr/bin/env bash

安装后,我无法通过双击运行脚本。如果我通过终端访问脚本,它们运行良好。但是,如果我双击它,会打开一个带有脚本标题的终端窗口,但是什么也没有发生,该脚本将永远不会执行。

我通过自制软件安装了bash,然后在/usr/local/bin/bash中输入/etc/shells。在终端中,如果我输入which bash,它将返回/usr/local/bin/bash。如果我输入echo $SHELL,它将返回/bin/bash

我希望我的系统运行自制软件安装的bash 5。我以为自己的终端配置正确,但是我无法弄清楚。任何帮助将不胜感激。

我还附上了终端输出的屏幕截图,以防万一。我为示例“ hello.command”编写了脚本:

#! /usr/bin/env bash

echo 'Hello'

如果我双击它,将会显示以下内容:

enter image description here

1 个答案:

答案 0 :(得分:1)

/etc/shells中,在换行符上添加一个条目:

/usr/local/bin/bash

请注意,要将此条目添加到/etc/shells,您需要root特权。