はい
$ echo "This is great"
This is great
$ num2=2
$ num3="Three"
$ echo $num2
2
$ echo $num3
Three
エコーをオーバーライドします。
$ echo(){ command echo "The command was redefined"; }
$ echo $num2
The command was redefined
$ echo $?
The command was redefined
それではこれは本当ですか? Unixシェルのすべてのコマンドを実行でき、このように動作できますか?
ベストアンサー1
いいえ。組み込み機能は関数と同じ名前空間を介してアクセスできますが、まだ別のエンティティであり、関数によって非表示になっても組み込みコマンドを介してbuiltin
アクセスできます(もちろん、楽しさを増やすために上書きすることもできますbuiltin
☺)。また、unset -f echo
内蔵機能を元の状態に戻す場合は注意してください。
名前が示すように、組み込み関数も組み込まれ、ファイルから生成されたCコード(bashの場合)として実装されます。echo.def。