I just set up a .command file to test launching a terminal-based
command from an icon.
Worked great, except that the terminal didn't go away when the command
completed. So, I went to the 'Window Settings' dialog and clicked
'close when shell completes'. Then I saw the 'Apply to all' (or
whatever) button and figured sure, why not have all my terminal
windows close when the commands they're running finish?
Well, I ended up somehow setting the terminal app to always launch my
.command whenever a new terminal window is created. Apparently 'Apply
all' means apply all settings to all windows, including the command
that was run in this window. Now, I'd argue that that's none too
intuative. But what's worse, is it's near impossible to reverse.
When you've got a system that launches a command and then closes
whenever you try to launch a terminal window, you're in big trouble.
Finally, I managed to sort of fix it by doing File-New Command,
running /bin/tcsh, and then doing the 'Apply All' trick again. What I
ended up with is that terminals launch a shell, which runs a shell and
then exits when the 2nd shell finishes. I don't know if that's what
the original settings were, but I don't think so, since it complained
that stuff was still running when I tried to close the window, and I
ended up having to add 'tcsh' to the list of programs to ignore when
closing terminal windows.
Now, maybe Terminal is supposed to be for advanced users only. Still,
as a longtime unix programmer, it had me totally flummoxed. If this
is the much-vaunted Apple ease-of-use, then I don't get what all the
fuss is about.