aliasコマンドでオプションをオーバーライドする方法は? [コピー]

aliasコマンドでオプションをオーバーライドする方法は? [コピー]

エイリアスがありますrm

alias rm='rm -i'

-i多数のファイルを削除し、各削除を確認したくない場合は、このオプションをどのように無視しますか?

答え1

コマンド名をエスケープまたは引用してエイリアスを表示しないことがあります。たとえば、次のようになります。

\rm foo
"rm" foo

追加資料:

答え2

rmコマンドラインに後で表示されると、上書きさ-fれます。-i

コマンドラインで最後に表示されるオプションが適用されるため、に展開してalias rm='rm -i'このオプションを上書きできます。rm -frm -i -f

例えば

$ mkdir rmtest
$ cd rmtest
$ touch a b c d e f
$ alias rm='rm -i'
$ rm *
rm: remove regular empty file 'a'? n
rm: remove regular empty file 'b'? n
rm: remove regular empty file 'c'? n
rm: remove regular empty file 'd'? n
rm: remove regular empty file 'e'? n
rm: remove regular empty file 'f'? n
$ rm -f *
$ ls -l
total 0
$

rm -f -iもちろん、各ファイルの削除を求めるメッセージは引き続き表示されます。

(少なくともGNUの場合rm、他のバージョンはまだテストされていません)。

関連情報