![aliasコマンドでオプションをオーバーライドする方法は? [コピー]](https://linux33.com/image/7040/alias%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
エイリアスがありますrm
。
alias rm='rm -i'
-i
多数のファイルを削除し、各削除を確認したくない場合は、このオプションをどのように無視しますか?
答え1
コマンド名をエスケープまたは引用してエイリアスを表示しないことがあります。たとえば、次のようになります。
\rm foo
"rm" foo
追加資料:
答え2
がrm
コマンドラインに後で表示されると、上書きさ-f
れます。-i
コマンドラインで最後に表示されるオプションが適用されるため、に展開してalias rm='rm -i'
このオプションを上書きできます。rm -f
rm -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
、他のバージョンはまだテストされていません)。