确认zsh中的rm

在发现’垃圾桶’后,我想在大多数情况下使用它而不是’rm’.如果我只是别名它可能会让我觉得在没有我的配置文件的机器上太安全,所以我想出了以下(在我的.zshrc中):

function rm() {
    local go_ahead
    read -q "go_ahead?Are you sure you don't want to use rms? (y/n)"
    echo ""
    if [[ "$go_ahead" == "y" ]]; then
        /bin/rm $*
    fi
}
alias rms='trash-put'

它似乎工作,但我没有很多zsh脚本的经验…这是一个做我想要的好方法吗?

谢谢
彼得

最佳答案 好吧,为什么要创建一个函数和别名而不是简单地:

alias rm="rm -i"

或以其他方式改变你的rm所以它是:

function rm() {
    local go_ahead
    read -q "Are you sure you don't want to use trash-put? [y/N]"
    echo ""
    if [[ "$go_ahead" = "y" ]]; then
        /bin/rm $*
    else
        /usr/bin/env trash-put $*
    fi
}

如果你不说y,它会运行垃圾桶.

点赞