I want to have a number of items on my desktop which will be used to launch some apps. E.g. launcher for MacVim with specific settings for each project. I don't know how does it name in Mac OS. I was tried to create executable .sh script but it opens Terminal, it is annoying. What is Mac way to do this?
I'm not sure I understand what you mean, anyway you can try Automator.
Open Automator and create an Application with a single Run Shell Script action:
open -a MacVim
If you want to pass command-line arguments, invoke like this:
/Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager &
This application will launch Firefox and quit instantly (because of the trailing
&), leaving only Firefox running. You can even pass arguments that way.
Alternatively, create an application using AppleScript Editor with the following AppleScript code:
tell application "MacVim" to activate
This will simply launch the application. If you want to pass command line arguments, do it like this:
do shell script "open -a '/Users/danielbeck/Applications/Firefox.app' --args -ProfileManager"
Both ways (Automator and AppleScript applications) work fine and don't keep either Terminal or a script application running for more than a second or so. Using Automator, you can even create a Service if you choose so.