スクリプトを使用して、前のコマンドが正常に実行されたことをどのように確認できますか?

スクリプトを使用して、前のコマンドが正常に実行されたことをどのように確認できますか?

だからここで悩みが多いですね…では、私がタイピングをしたいとしましょう。

useradd jamie

その場合、現在のスクリプトは次のようになります。

if [ $? -eq 0 ]; then echo Success; else echo ERROR: duplicate, try different name; fi

わかりました。

useradd jamie

エラーメッセージが表示されます。しかし、毎回成功だと言います。これは、入力とスクリプトを同じファイルに入れる必要があることを意味すると仮定します。私は何をすべきですか? jamieがシステムの唯一のユーザーである場合は、「useradd max」も「成功」をエコーする必要がありますが、常に「成功」​​をエコーする必要があります。どんな助けでも大変感謝します。

答え1

各スクリプトは以下で実行されます。サブシェルしたがって、スクリプトを実行する代わりにスクリプトを取得してください。

$ useradd jamie
useradd: user 'jamie' already exists
$ . script.sh
ERROR: duplicate, try different name

Bashでは、source代わりに.

関連情報