I'm trying to migrate to OS X. One thing what I find really strange / dangerous that by double clicking on shell scripts, I launch them in Terminal.
I would like to change this behaviour to open them in Sublime Text.
My problem is that while I can do it to single files using the "Get Info" dialog, I cannot apply "Change All…" for these kind of files.
For other filetypes it worked OK, but for .sh / Unix Executable File I cannot assign them.
When I click, I get the following error dialog:
The operation can't be completed.
An unexpected error occurred (error code -50).
Best Answer
Install duti by running
brew install duti
, save a file likeas
~/.duti
, and then run/usr/local/bin/duti ~/.duti
. After that executable scripts with no filename extension should be opened in TextEdit.Another option is to run
plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist
, open the plist in a text editor, add an entry likeunder
LSHandlers
, and then restart to apply the changes.The default application for shell scripts with a
.sh
extension can be changed from Finder: