rmのエイリアスを常に確認する方法

rmのエイリアスを常に確認する方法

コマンドを使用するときにrm -rfファイルを削除する前に、常にプロンプ​​トが表示されることを確認したいので、これを追加してみました。~/.bashrc

alias 'rm -rf'='rm -rfi'

しかし、これはうまくいきません。この問題をどのように解決できますか?

答え1

確認は望ましい結果を得るための弱い方法です。つまり、削除したくないファイルを削除しないことです。 10回連続で確認を要求することができますが、削除のみを要求すると、mispeled.txt確認をするまでは間違いを認識できません。

システムtrashまたは同様のコマンドを使用して、ファイルを(回復可能な)「ごみ箱」に送信することをお勧めします。このtrash-cliパッケージのRPMバージョンは次の場所にあります。rpmfind.netしかし、そのバージョンを保証することはできません。疑わしい場合は、自分で構築してみてください。ソースコードから

コメントで指摘したように、エイリアスを使用することはrmまったく良い考えではありません。〜するあなたが保護的なニックネームのない殻の中にあり、あなたの脳が「安全」に慣れたら、それはあなたを噛むために戻りますrm

答え2

あなたの場合は、~/.bashrc次のことができます。

alias rm='rm -i'

これを行うと入力すると、rm -rf example-dirBashがこれをrm -i -rf example-dir

対話型ログインシェルの場合~/.bash_profile。ログインシェルも使用できるようにするには、~/.bashrc以下を次の項目に追加します~/.bash_profile

[ -f ~/.bashrc ] && . ~/.bashrc

これで、~/.bashrc端末またはSSHセッションを開くと常に実行されます。

答え3

f -->強制、メッセージを表示しない

i --> 毎回メッセージを表示

ヒントが必要な場合は、rm -iエイリアスに使用してください。両方のエイリアス(rmfとrmi)の両方を使用したい場合は、両方を持つことができます。

答え4

有効な回答に加えて、別名を分離して~/.bash_aliases最後に簡単にインポートすることをお勧めします。~/.bashrc

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

すでに述べたように、エイリアスは相互に排他的なオプションで歪んでいます。

‘-f’
 ‘--force’
 Ignore nonexistent files and missing operands, and never prompt the
 user.  Ignore any previous ‘--interactive’ (‘-i’) option.

^から抜粋info rm

したがって、以下が機能します。

alias rm='\rm -i'

関連情報