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