Linux Tips

カレントディレクトリのプログラムを実行するには

北浦訓行
2001/3/8

 作成したシェルスクリプトなどのプログラムを実行しようとしても、通常は

bash: xxx: command not found

というエラーメッセージが表示されて、実行することはできない(xxxはプログラムの名前)。これは、パスにカレントディレクトリが含まれていないために発生する現象なので、実行するにはパスにカレントディレクトリを含めればよい(パスに新しいディレクトリを追加するには参照)。

 ただし、そうする前に、なぜデフォルトではカレントディレクトリにパスが通っていないのかを考える必要がある。

 それは、カレントディレクトリのプログラムが無条件に実行されるのは好ましくないからである。パスの通ったディレクトリにあるプログラムと同名のファイルがカレントディレクトリにあった場合、パスの順番によってはカレントディレクトリのプログラムが実行されてしまい、ユーザーの意図に反した結果になってしまう。

 さて、パスとは関係なく、カレントディレクトリにあるプログラムを実行するには、フルパスでプログラム名を指定すればいい。しかし、これだと入力が大変だ。ところが、Linuxではカレントディレクトリを「.」(ピリオド)で表すことができる。従って、実行するプログラム名の前に、「./」を付ければいい。例えば、fooというプログラムを実行するには、以下のように入力する。

$ ./foo

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間