複数の端末で使用しているときに自分の記録を上書きするので、その機能をオフにしたいと思いますfc -W
。残念ながら、私はタイピングをたくさんする習慣があります。
エイリアスを作成することは不可能だと思いますfc -W
。
だから私は次のような関数を作ってみました。
# Make sure to never invoke fc -W
fc(){
for x; do
if [[ "${x}" == -W ]]; then
echo "I'm sorry Dave. I'm afraid I can't do that."
return
fi
done
fc "${@}"
}
しかし、今度は呼び出しfc "${@}"
が独自に呼び出され、無限の再帰が発生します。通常、私は/usr/bin/fc
代わりにegを使ってこれを避けます。fc
しかし:
$ type fc
> fc is a shell builtin
この場合、無限再帰を避ける方法は何ですか?または、コマンドのフラグを無効にするより良い方法はありますか?
ベストアンサー1
使用builtin
:
builtin fc "$@"
これにより、組み込みfc
コマンドが呼び出されます。
スタイル:診断メッセージは標準エラーストリームに送信され、関数は失敗時にゼロ以外の状態を返す必要があります。
echo 'Sorry, can not do that' >&2
return 1