zsh で rm* を実行すると、次のメッセージが表示されます。
2014-06-08 10:14:23 $ rm *
zsh: sure you want to delete all the files in /home/assay/assay/log [yn]? y
rm: remove regular file `development.log'? y
まず、zshはすべてのファイルを削除したいかどうか尋ね、rmは各特定のファイルを要求しました。
zsh認証はどのようにできますか?
答え1
「zsh:すべてのファイルを削除しますか?」メッセージは、rm
glob拡張または以前の引数を使用してコマンドを呼び出してトリガーされるzshの機能です。次のコマンドを使用してこの機能をオフにすることができます*
something/*
setopt rm_star_silent
。
「rm:一般ファイルの削除」というメッセージは、rm
コマンド自体から来ます。デフォルトでは表示されず、rm
optionsで呼び出されたときにのみ表示されます-i
。このメッセージを望まない場合は、このオプションを渡さないでください。それ以外の場合でも、-i
読み取りrm
専用ファイルを削除しようとすると(他のメッセージと共に)確認メッセージが表示されます。オプションを渡すことでこの確認を削除できます-f
。
-i
コマンドラインから渡されなかったので、エイリアスにすることができますrm
(rm -i
関数、非標準ラッパーコマンド、または別のエイリアスかもしれませんが、エイリアスはrm -i
最も合理的です)。一部のデフォルト設定はシェル初期化ファイルに含まれていますalias rm='rm -i'
。これは、ディストリビューションやシステム管理者が設定したもの、またはどこかからインポートして設定ファイルに追加した後に忘れたものです。~/.zshrc
エイリアス定義を確認してくださいrm
。見つかったら削除してください。見つからない場合は、エイリアスを削除するコマンドを追加します。
unalias rm
答え2
2段階認証を無効にする正しいコマンドはsetopt rm_star_silent
。 2段階認証を有効にするには、次の手順を実行しますsetopt no_rm_star_silent
。
詳細については、zshoptionsのマニュアルページを参照してman zshoptions
ください。http://linux.die.net/man/1/zshoptions
答え3
理由はわかりませんが、次は私にとって効果的です。問題ありません。
rm -f **
またはディレクトリが関連する場合:
rm -rf **
答え4
oh-my-zsh を使用する場合、汎用エイリアスプラグインに rm -i エイリアスが含まれます。