質問: シェルの実行について シェル、コマンドを実行に関して質問があります。 シェル名だけ「シェル名」だけで実行できたり「./シェル名」としないと実行できなかったりしますが、この違いはどこからくるのでしょうか? また、「csh シェル名」とするばあいもありますが、これらの明確に違い(使い分け)が分かりません。 ご教授の程宜しくお願いいたします。
回答: パスを省略すると、環境設定のpathに記述された順にコマンドを探しに行きます。 「csh シェル名」とするのは、cshにファイルを渡しています。 先頭のcshを省略するためには、ファイルの先頭に #!/bin/csh (環境に応じて変更要)の記述がある ことと、そのファイルに実行権限がついていることが必要になります。 なお、「./シェル名」とすることは、pathによって意図したコマンドとは別に存在する コマンドを呼んでしまうことがないようにする良いマナーです。 特にrootではコマンドはフルパスで実行するよう心がけましょう。 コマンドの場所は、 which で探すことができます。 pathによって複数のコマンドが呼べる場合は、whereis で探すこともできます。