小编典典

如何通过双击使这个 file.sh 可执行?

all

首先,我使用的是 Mac。

接下来,我需要执行这个我们将调用它的“file.sh”。每次我需要执行它时,我都必须打开终端并输入:

cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh

这没关系,但我觉得如果我让文件在双击时执行会快很多,你不觉得吗?

所以我的问题是,如何通过双击使该文件可执行?

我的想法是:

a)在终端中输入 chmod 之类的内容并更改权限?

b)创建一个文件,将我上面写的代码放入其中 ^ 然后使该文件可执行?

c)以某种方式进行自动化来做到这一点?

哪种方法最好,或者有更好的方法吗?另外请尽可能多地解释,我是终端的新手。谢谢。


阅读 88

收藏
2022-07-12

共1个答案

小编典典

默认情况下,*.sh文件在文本编辑器(Xcode 或 TextEdit)中打开。要创建一个在您打开终端时将在终端中执行的 shell
脚本,请将其命名为“命令”扩展名,例如file.command. 默认情况下,这些被发送到终端,终端会将文件作为 shell 脚本执行。

您还需要确保文件是可执行的,例如:

chmod +x file.command

没有这个,终端将拒绝执行它。

请注意,在这种特定情况下,脚本不必以#!前缀开头,因为终端专门安排使用您的默认 shell 执行它。(当然,#!如果您想自定义使用哪个
shell,或者如果您想确保在使用不同的 shell 时可以从命令行执行它,您可以添加一行。)

另请注意,终端在不更改工作目录的情况下执行 shell
脚本。cd如果您确实需要在特定工作目录下运行脚本,则需要使用命令开始您的脚本。例如,您可以使用cd "$(dirname "$0")"将当前工作目录设置为您的 shell 脚本所在的目录。

2022-07-12