ユーザーが root でない場合にスクリプトをシェルに戻し、終了コードを 5 にしたい
who=`whoami`
if [ echo $who != "root"];
then exit (5)
else
私は何を間違っていますか?
vinoqadhikary の答えは正しいです。gniourf_gniourf のコメントも、回答の問題を修正しました。
あなたのコードに問題があった理由:
は[
、実際には私のシステムの外部コマンドです。 /usr/bin/[
これはコマンドであるため、シェルが解析できるように、周囲に空白を入れたいと考えています。
type [
システムにあるものを表示します。
次のように括弧内に何かを入れる場合: ( stuff in here )
注意すべき 2 つの点:
stuff in here
コマンドとして実行されます。5はコマンドではありません。
次に:stuff in here
シェルが理解できる実際のコマンドが必要な場合、シェルはそれを子プロセスとして実行しますが、これは意図したものではありません。