コマンドを使用するときに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-dir
Bashがこれを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'