パスにプログラムがあります。プログラムは、フルパスを指定して実行すると実行されます。しかし、名前だけで実行するとプログラムが見つかりません。
基本的に、以下の出力がどのように可能か、そして絶対パスを指定せずに私のプログラムが実際に見つけられるようにそれを修正する方法を理解したい:
root:/usr/local/bin# ./siege
****************************************************
siege: could not open /usr/local/bin/etc/siegerc
run 'siege.config' to generate a new .siegerc file
****************************************************
root:/usr/local/bin# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
root:/usr/local/bin# siege
bash: /usr/bin/siege: No such file or directory
root:/usr/local/bin# wtf!?!?
Ubuntu 12.04でbashを使用しています。また、siegeからの警告出力は、この質問の目的には関係ないことに注意してください。プログラムを見つけて呼び出すことができるかどうかだけに興味があるからです。