エイリアスに無効な終了コードを設定する

エイリアスに無効な終了コードを設定する

目的の結果を得るために、より複雑なプロセスを必要とする標準コマンドを人々が使用しないように、いくつかのエイリアスを.bashrcに追加しました。しかし、スクリプトでエイリアスを呼び出す場合は、終了コードをどのように設定しますか?理想的には、「該当するファイルやディレクトリはありません」などの偽のエラーメッセージは生成されません。これしかし、間違いなくもっときれいな方法がありますか? )

例えば

 alias useradd='echo "Nope....you should be using the custom script."'

結果は次のとおりです。

 # useradd newuser
 Nope....you should be using the custom script.
 # echo $?
 -1
 #

ベストアンサー1

エイリアスの代わりに関数を使用する必要があります。

useradd () {
  echo "Nope....you should be using the custom script." >&2
  return 2
}

バラよりBashでいつエイリアスを使用し、いつスクリプトを使用し、いつ関数を作成しますか?エイリアスの制限と機能の有用性に関する追加情報。

また、関数を使用するかエイリアスを使用する場合でも、組み込みcommand関数を使用するか、単にコマンド名をエスケープすることでそれを上書きできます。たとえば、次のようになります。

\useradd ...

おすすめ記事