CLI "ゴミ箱"を生成するためのエイリアス `rm`

CLI "ゴミ箱"を生成するためのエイリアス `rm`

私たちがするとき

mv /root/file /root/folder/

それ/root/fileに行く/root/folder

mv同じ作業をしたいのですが、引数が表示される順序を逆にしたいと思います。

宣言したいエイリアス(関数ではない)良い

alias rm="mv /root/folder"

だから私がしたいとき

rm /root/file

その特定のファイルを次の場所に移動します。/root/folder


なぜ関数を使用したくないのですか?

rm()キーワードがすでに存在するため、関数名を指定できないためですrm

rmこのキーワードは私たち全員の習慣なので活用したいです。

答え1

個人的に私はこれが悪い考えだと思います。使いたいならごみまたはゴミ箱コマンドラインからインストールしますtrash-cli

私がこれが悪い考えだと思う理由:

  • rmファイルやディレクトリを削除する既存のアプリケーションを使用したい場合はどうなりますか?

  • すでに存在するファイルと一致するファイル名を持つファイルを移動するとどうなりますか/root/folder


注目すべき価値があるのは著者はtrash-cliまた、このエイリアスが悪い考えだと思います。、少し経験の後:

rmをゴミ箱にエイリアスとして指定できますか?

できますが、そうしてはいけません。最初はこうするのが良い考えだと思いましたが、今は心が変わりました。

...

また、アンドレア選択肢をお勧め:

rm エイリアスを使用して、使用しないことを思い出させることができます。

alias rm='echo "This is not the command you are looking for."; false'

答え2

alias rm="mv -t /root/folder"mvこれは非標準オプションをサポートしている場合に行われます-t。バラよりMV(1)--no-clobberより多くのオプションが必要な場合(/が必要な場合があります--interactive)。

POSIXソリューションが必要な場合は、基本rmhttp://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html#top)には次の関数がありますrm

rm() {  mv "$@" /root/folder;  } # a start

関連情報