現在のディレクトリでスクリプトを実行するときに「./」をどのように省略しますか


10

インターネット上のいくつかのチュートリアルでは、現在のディレクトリでスクリプトを実行することができます。

./script

これをどのように省略しますか?CentOS 5.6 x64を使用しています。このように実行したい

script


3
これはほとんどの場合、特にrootユーザーにとっては悪い考えです。
David Schwartz、

1
とにかく./の背後にある目的/ストーリー全体は何ですか?
ピート

それは常に./持っている必要がありますなぜ私はちょうど好奇心
Aivan Monceller

最後のコメントは別の質問である可能性があります-一般的なプログラムの実行について理解することは重要です!
rozcietrzewiacz '28 / 09/28

4
@Pete(およびAivan):Linux / UNIXでは、シェルはプログラムへのパスを知っている場合にのみプログラムを実行します(指定したパスを使用するか、PATH変数を検索するかによって)。Windowsのように現在のディレクトリを検索することを想定していません。PATH変数を介して検索するように要求したとおりに検索します。「。」現在のディレクトリへの参照です。したがって、「./ script.sh」と入力すると、パスがわかります。
Kasius 2011

回答:


26

のいずれか:

  1. 現在の作業ディレクトリをPATHに追加します:(PATH=${PATH}:.これはセキュリティリスクと見なされます)
  2. スクリプトを含むパスをPATH変数に明示的に追加します(そのディレクトリへの書き込みアクセスが制限されている場合、セキュリティ上のリスクはありません)
  3. PATHが既に指している適切な場所にスクリプトを配置します(〜/ bin、/ usr / local / bin、...)

最後のオプションがおそらく最良です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.