首先我使用的是 Mac。
接下来,我需要执行这个“file.sh”,我们将调用它。每次我需要执行它时,我都必须打开终端并输入:
cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh
这没关系,但我觉得如果我让文件双击执行的话会快很多,你不觉得吗?
所以我的问题是,如何通过双击使该文件可执行?
我的想法是:
a) 在终端中输入 chmod 之类的内容并更改权限?
b)创建一个文件,将我上面编写的代码放入其中^然后使该文件可执行?
c)以某种方式实现自动化来做到这一点?
哪种方法最好,或者有更好的方法吗?
最佳答案
默认情况下,*.sh
文件在文本编辑器(Xcode 或 TextEdit)中打开。要创建一个打开终端时将在终端中执行的 shell 脚本,请使用“command”扩展名命名它,例如 file.command
。默认情况下,这些文件会发送到终端,终端会将文件作为 shell 脚本执行。
您还需要确保该文件可执行,例如:
chmod +x file.command
如果没有这个,终端将拒绝执行它。
请注意,在这种特定情况下,脚本不必以 #!
前缀开头,因为终端专门安排使用默认 shell 来执行它。 (当然,如果您想自定义使用哪个 shell,或者想确保在使用不同的 shell 时可以从命令行执行它,您可以添加 #!
行。)
另请注意,终端执行 shell 脚本时不会更改工作目录。如果您确实需要脚本在特定工作目录下运行,则需要使用 cd 命令开始脚本。例如。您可以使用 cd "$(dirname "$0")"
将当前工作目录设置为 shell 脚本所在的目录。
关于bash - 如何通过双击使该 file.sh 可执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8409946/