Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How do I launch a bash script from Finder in OS X?

I'm OK working at the CLI, but my little script is not so loved by my GUI-bound colleagues.

share|improve this question
add comment

3 Answers 3

up vote 19 down vote accepted

For being Finder friendly, a bash script must have the .command suffix. Of course it must be executable as well.

share|improve this answer
1  
You just won my world famous "Geek Hero of the Day" award! Thanks. –  Stu Thompson Sep 10 '09 at 8:20
    
This answer made the question interesting. –  Sergio Acosta Sep 10 '09 at 9:16
1  
fyi, if anyone tries to softlink to a script, the script itself (the destination of the softlink) has to end in .command, and the link itself can have any extension. weird, I know. –  AlcubierreDrive Feb 28 '12 at 1:54
add comment

@mouviciel's answer will work great, but for added panache, try Platypus, which allows you to create actual Application Bundles from various scripting languages, including Bash shell scripts. One of the advantages to this is you can give it a nice looking icon :)

share|improve this answer
add comment

I've just released bashapp via github, which compiles a bash script into a binary program (C source) and creates the directory structure necessary to make it clickable in Finder. Here's the README:

http://github.com/arbinger/bashapp

I needed this to build a few service launch scripts that could be clicked on in Finder, as opposed to asking users to open a Terminal. It also provides simple script obfuscation via encryption, which can be handy if you need to distribute the program.

If you wanted to add icons, you can do so by adding the Info.plist file, and the .icns file to the Contents/Resources/ folder.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.