Apple - Can't run one particular program from Terminal without using its full path

The command is apparently aliased to a broken alias. First, check for all the matches for ds9 in PATH environment variable, by executing the following command:

type -a ds9

As per your updated question, it's apparent from the output of type -a ds9 command, that an alias is shadowing the actual command.

To execute the actual command by ignoring the alias, and without specifying the full path, prepend a \ (backslash) character before the command. This ignores any bash defined alias.

If you do not wish to prepend the backslash before the command every time, figure out where the alias is being created, and either remove it, or override the alias with the actual command.


I see this was solved for the asker, but for future readers I want to mention that it could also be the case that the command was hashed and then the file removed. (See help hash for info.)

type -a commandname will not show you that, only type commandname will.

In this case, hash -d ds9 would be all that would be needed.