仮想マシン上でスクリプトを実行したいのですが、[]$ ./myscript
[studentuser@CentosStudentSvr ~]$ myscript
-bash: iduser: コマンドが見つかりません
そうでない場合はエラーが発生します:
-bash: iduser: command not found
どうすれば修正できますか?
ありがとう
答え1
と入力するとmyscript
、シェルは PATH を調べて、 という名前のコマンドが見つかるかどうかを確認しますmyscript
。Windows とは異なり、現在のディレクトリはデフォルトでは PATH にありません。
つまり、次のいずれかを行う必要があります。
- とりあえずパスに追加してください(相互に)
- 起動するたびにパスに追加します (フォルダー内の起動スクリプトを編集します。どのスクリプトを使用するかは、使用するシェルによって異なります。多くの場合、.profile または .bashsomething です)
- または、バイナリへのフルパスを指定します。例:
./iduser
または/home/user229525/iduser
。
現在のディレクトリ ( .
) がすでにパス内にある場合は、プログラムを確認してください。
- 実行可能でしょうか? (ls -l、rwx 内を検索
x
) - スクリプトの場合、それはシバンで始まっていますか? (例: 最初の行は です
#!/usr/bin/env bash
)。
答え2
Bash は、$PATH 変数に列挙されたパスで「コマンド」を探します。スクリプトを/usr/bin
$PATH に記載されているフォルダーまたは別のフォルダーに移動します (または、スクリプトがあるフォルダーを $PATH に追加します)。
また、実行中の bash のエイリアスを定義することもできますalias myscript="bash /path/to/script/myscript"
。(構文は自分で確認してください。今のところはわかりません)