🗑️

[macOS]'rm'コマンドでファイルをゴミ箱に移動させる

2025/01/22に公開

やったこと

  • trashコマンドをインストール
  • rmtrashにエイリアスする
  • trashコマンドがない場合、警告を出すようにする

trashコマンドをインストール

trashコマンドはファイルをゴミ箱に移動させる。Homebrewでインストールできる。

brew install trash

trash -Fを使うと削除後にゴミ箱から戻せる。

rmtrashにエイリアスする

~/.zshrcに以下を追記する。

~/.zshrc
export PATH="/opt/homebrew/opt/trash/bin:$PATH"
if type trash > /dev/null 2>&1; then
    alias rm='trash -F'
else
    echo "Warning: 'trash' command is not available. File deletion will be permanent."
    alias rm='function() {
        echo -n "Are you sure you want to permanently delete files? [Y/n] "
        read -r response
        case "$response" in
            [Yy]|[Yy][Ee][Ss]|"")
                command rm "$@"
                ;;
            [Nn]|[Nn][Oo])
                echo "Deletion cancelled."
                ;;
            *)
                echo "Invalid input. Deletion cancelled."
                ;;
        esac
    }'
fi

trashコマンドがある場合はrmtrash -Fにエイリアスする。trashコマンドがない場合は警告を出し、確認を取ってからrmを実行する。

以上。

GitHubで編集を提案

Discussion