我有一个shell脚本,在OS X上有用户执行权限,但当我双击它时,它在文本编辑器中打开。如何通过双击它来运行它?
首先在终端中输入以下命令使脚本可执行:
chmod a+x yourscriptname
单击OK后,您应该能够通过简单地双击它来执行脚本。
你试过使用.command扩展名吗?
.command
或者,你可以使用鸭嘴兽从你的脚本创建一个常规的Mac OS X应用程序
无需使用Platypus等第三方应用。
只要用脚本编辑器创建一个Apple脚本,并使用命令do shell script "shell commands"来直接调用命令或可执行的shell脚本文件,将可编辑的脚本文件安全地保存在某个地方,然后导出它来创建应用程序脚本。应用程序脚本可以通过双击或选择栏文件夹启动。
do shell script "shell commands"
由于OSX 10.10(约塞米蒂)和因为至少 OSX 10.8(山狮),当你打开(双击)可执行脚本从Finder时行为如下:
Preferences... > Profiles
cd -- "$(dirname "$BASH_SOURCE")"
cd -- "$(dirname "$0")"
chmod +x <script>
File > Get Info
chmod +x
#!/bin/bash
.sh
TextEdit.app
Xcode.app
.scpt
.applescript
[Apple]Script Editor
[1] 可执行的表示:设置了可执行权限位和调用用户(相对于文件的所有权)的脚本,因此潜在地允许执行它。 如果你使用chmod a+x来设置所有权限位(这是典型的),任何人可以调用它(假设它们也被允许基于读权限位和文件的所有权来读文件)
chmod a+x
最简单的方法是将扩展名更改为.command或不扩展。
但这会打开终点站,你必须关闭终点站。如果你不想看到任何输出,你可以使用Automator创建一个Mac应用程序,你可以双击,添加到dock等。
Automator
Run
File > Save
你也可以使用RCDefaultApp通过文件扩展名设置默认值:
http://www.rubicode.com/Software/RCDefaultApp/
潜在地,你可以设置.sh打开在iTerm/终端等,这需要用户执行权限,例如
chmod u+x filename.sh
chmod 774 filename
请注意:带有bash脚本的名为'filename'的文件没有扩展名