Problem: Running a command (from a bundle) I get “not found” for a shell command which I know is on my disk.

Solution: You need to setup PATH to contain the directory your shell command is placed in (e.g. /usr/local/bin). See the Search Path section of the manual.

Problem: When executing shell commands nothing happens.

Solution: <strike>When executing a shell command TextMate will source your normal bash start files to get a proper PATH setup</strike> (changed in r1589).

This means that if you do something like start e.g. screen as part of your regular bash startup then TextMate will be unable to use your shell.

The files sourced are mentioned here.

You can restrict execution of things like screen to interactive shells by using a line like this:

[[ $- = *i* ]] && screen

Problem: Running (shell) commands take forever.

Solution: Leopard’s version of /etc/profile calls /usr/libexec/path_helper which has a serious performance problem. The longer the value of the PATH value the more severe is this problem.

See also: Templates