如何通过双击使这个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文件:

  1. select文件
  2. 获取信息(cmd-i)就可以了
  3. 在“打开方式”部分,在popup菜单中select“其他…”
  4. selectterminal作为应用程序

这将具有与重命名为.command完全相同的效果,除非…您不必重命名:)

  1. 启动terminal
  2. 键入 – > nano文件名
  3. 粘贴batch file内容并保存
  4. 键入 – > chmod + x fileName
  5. 它会创buildexe文件,现在你可以双击它。

文件名应该在双引号内。 因为我使用Mac->在我的情况下, batch file的内容是

cd / Users / yourName / Documents / SeleniumServer

java -jar selenium-server-standalone-3.3.1.jar -role集线器

这将工作肯定