如何使命令行可执行为应用程序?


4

我有一个命令行可执行文件(特别是JMeter),从终端启动时会打开一个GUI应用程序。但是,我想创建一个指向它的链接,该链接会将它包装起来成为一个正确的Mac应用程序(包括在/Applications目录中以及所有内容)。我怎么做?

Answers:


4

简短答案:

do shell script "/your/script/path/shellscript.sh"

在AppleScript中使用此代码段,然后将其另存为应用程序。


4

使用Automator。

  1. 打开Automator,然后双击“应用程序”。
  2. 在“名称”搜索框中,键入Apple,您应该看到“运行AppleScript”。
  3. 将“运行AppleScript”拖到右侧窗口中。
  4. 在显示的地方(* Your script goes here *),用以下代码替换该文本:

    tell application "Terminal"
        activate
        do script with command "JMeter"
    end tell
    
  5. 文件>保存并输入名称,然后选择将应用程序保存到何处。
  6. 双击新创建的应用程序。

1

以下是用于创建运行top命令的应用程序最低版本的命令:

APP=Foo
mkdir -vp ${APP}.app/Contents/MacOS ${APP}.app/Contents/Resources # Create the folders.
PATH="$PATH:/usr/libexec" # Make sure PlistBuddy is in the PATH.
printf '#!/usr/bin/osascript\ntell application "Terminal"\n\tactivate\n\tdo script "top"\nend tell\n' > ${APP}.app/Contents/MacOS/${APP}
chmod +x ${APP}.app/Contents/MacOS/${APP} # Sets the executable flag.
PlistBuddy ${APP}.app/Contents/Info.plist -c "add CFBundleDisplayName string ${APP}"
PlistBuddy ${APP}.app/Contents/version.plist -c "add ProjectName string ${APP}"
find ${APP}.app # Verify the files.
open ${APP}.app # Run the app.

注意:上面的命令应该在shell中执行,例如在Terminal中

在上面的代码中,您可以top用shell命令替换。


如果您要使用Windows应用程序,请考虑使用WineBottler应用程序

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.