ID非公開

2018/11/14 11:31

22回答

ubuntuのコマンドラインで「./」をよく使っていますが これは今いるディレクトリという意味でいいのでしょうか?

ubuntuのコマンドラインで「./」をよく使っていますが これは今いるディレクトリという意味でいいのでしょうか? $ ./test.sh と $ test.sh に違いがあるのでしょうか?

Linux系 | パソコン64閲覧

ベストアンサー

0

コマンド(この場合 test.sh)を実行する際、コマンドライン上でパス指定されていない場合は環境変数$PATHを参照し、記載順序に従ってそのコマンドを探し、最初に見つかったものを実行します。 ./ はカレントディレクトリの意味ですね。(相対パス) $ ./test.sh はカレントディレクトリにある test.shを実行します。 $ test.hは$PATHの内容をたどりtest.shを探し、見つかったら実行します。 見つからなければ実行しません。 環境変数$PATHには通常カレントディレクトリを記載しません。 記載している人も居ますが、危険があるので勧められません。 http://x68000.q-e-d.net/~68user/unix/pickup?PATH

その他の回答(1件)

0

はい、 ./ は、今いるディレクトリです。 なぜ ./test.sh とやるかというと、 今いるディレクトリが、 $PATH に入っていないと実行しない仕様だからです。 何かディレクトリから指定すると実行する仕様なので、 ./ を仕方なしに付けて実行します。