割り当ての問題:
端末で「good」、「ls」を実行して実行状態を確認します。
私がしたこと
good;$?
出力:
zsh: command not found: good
zsh: command not found: 127
ls;$?
出力:
quiz.sh
zsh: command not found: 0
このコマンドが存在する場合、lsコマンドが見つからないのはなぜですか?
ベストアンサー1
「コマンドが見つかりません」というメッセージは表示されませんls
。そこから出力を見ることができますls
。command not found
、0
これが拡張されるの$?
です。
$?
前のコマンドの状態です。実行後はls
エラーがないため、ステータスは0です。を実行した後のgood
状態は127です。これは、コマンドが見つからないときにシェルが使用する状態です。
状態を表示するには、表示するだけでよいことをシェルに伝えなければなりません。これがこのecho
コマンドの目的です。
good; echo $?
ls; echo $?