本日Cを紹介し、Linuxなどで実行されるCプログラムの作り方についての映像講義を見ました。与えられた手順に従いましたが、いくつかの問題が発生しました。
Cファイル(HelloWorld.c)を生成し、gcc -o HelloWorld HelloWorld.c
コマンドを使用してコンパイルしましたが、両方の手順が成功しました。その後、コマンドを使用してHelloWorldが作成されたことを確認しましたls
。ただし、HelloWorld
プログラムを実行する必要があるコマンドを使用すると、次のエラーメッセージが表示されますHelloWorld: command not found
。
ビデオ講義で教授は32ビットシステム用と言われましたが、私は64ビットシステムを使用しています。たぶんこれが問題になる可能性がありますか?
編集:また、ビデオ講義では、教授はコマンドを使用するときにHelloWorldのみをls
表示する必要があると述べましたHelloWorld*
(アスタリスクなし)。
答え1
PATH
HelloWorld実行可能ファイルを含むディレクトリを含むように環境変数の値を設定しませんでした。
cd
ディレクトリへのアクセス権があると仮定すると、次のコマンドを使用してHelloWorldを実行できます。./HelloWorld
Unixシェルには、ユーザーが完全修飾パス名(完全修飾パス名:で始まり、終了するがそれ自体では完全修飾されていません)なしでコマンドを実行したときに見える区切りディレクトリのリストPATH
という変数があります。エントリにエントリがない場合は、コマンドの先頭に明示的にonを使用して実行する現在のディレクトリにその名前のファイルをインポートする必要があります。:
/usr/bin/ls
/
ls
ls
.
PATH
./
答え2
ls -F
ファイル名の末尾にアスタリスクを表示するために使用されます。 GNU coreutilsを使用している場合は、このオプションと他のオプションを自動的に含めるようにls
環境変数を設定できます。オプションはLS_OPTIONS
マニュアルにリストされています。実際に動作する様子を確認してください。 ls
ls
man ls
@brewer2:ログイン時の環境変数の設定はシェルによって異なります。これはそれ自体が良い質問です。