如何通过双击使这个file.sh可执行文件?
首先我使用Mac。
接下来,我需要执行这个“file.sh”,我们会调用它。 每次我需要执行它,我必须打开terminal并键入:
cd /Users/Jacob/Documents/folderWithFileInIt bash file.sh
这是可以的,但是如果我双击执行文件,我觉得会快很多,你不觉得吗?
所以我的问题是,如何通过双击使这个文件可执行文件?
我的想法是:
a)键入类似chmod到terminal并更改权限?
b)制作一个文件,把我上面写的代码放在里面^然后让这个文件成为可执行文件?
c)以某种方式进行自动化操作?
哪种方法最好,还是有更好的方法? 也请尽可能解释,我是新的terminal。 谢谢。
默认情况下, *.sh
文件在文本编辑器(Xcode或TextEdit)中打开。 要创build一个在terminal中执行的shell脚本,请用“命令”扩展名命名,例如file.command
。 默认情况下,这些发送到terminal,将执行该文件作为一个shell脚本。
您还需要确保该文件是可执行的,例如:
chmod +x file.command
没有这个,terminal将拒绝执行它。
请注意,脚本不必以#!
开头#!
前缀在这个特定的情况下,因为terminal专门安排执行它与您的默认shell。 (当然,如果你想自定义使用哪个shell,或者如果你想确保在使用不同的shell的时候可以从命令行执行它,你可以添加一个#!
行。)
另外请注意,terminal在不改变工作目录的情况下执行shell脚本。 你需要用cd
命令开始你的脚本,如果你真的需要它运行一个特定的工作目录。
完全删除扩展名,然后双击它。 大多数系统shell脚本是这样的。 只要它有一个shebang它将工作。
您可以告诉Finder在terminal中打开.sh
文件:
- select文件
- 获取信息(cmd-i)就可以了
- 在“打开方式”部分,在popup菜单中select“其他…”
- selectterminal作为应用程序
这将具有与重命名为.command
完全相同的效果,除非…您不必重命名:)
- 启动terminal
- 键入 – > nano文件名
- 粘贴batch file内容并保存
- 键入 – > chmod + x fileName
- 它会创buildexe文件,现在你可以双击它。
文件名应该在双引号内。 因为我使用Mac->在我的情况下, batch file的内容是
cd / Users / yourName / Documents / SeleniumServer
java -jar selenium-server-standalone-3.3.1.jar -role集线器
这将工作肯定