我最近在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'
如果我双击它,将会显示以下内容:
答案 0 :(得分:1)
在/etc/shells
中,在换行符上添加一个条目:
/usr/local/bin/bash
请注意,要将此条目添加到/etc/shells
,您需要root特权。