修改默认的bashrc警报命令

修改默认的bashrc警报命令

我正在浏览我的 bashrc(无聊的)我对警报默认情况下连接在那里的命令。它很实用,但它要求您; alert在每个想要收到通知的命令的末尾键入。

有没有一种聪明的方法可以将此别名变成通用命令选项之类的东西?

例子:

sudo apt update -a 
cp <someBigFile> <someOtherPlace> -a

ETC。 (e的第t思考C容量:)

我知道我不一定使用“-a”,因为它可能是某些命令的现有选项,这只是我放在那里澄清的一个例子。

答案1

我可以想到两种方法来实现它。但说实话,我正在使用与您描述的相同的方法。command; alert

1. 创建调用您的命令的函数 您希望在命令完成后收到通知。

function alert(){
        $@
        echo -en "\a"
}

所以跑步alert sudo apt-update结束后会响起铃声。

2. 设置/取消设置警报的函数并使用 PROMPT_COMMAND 调用它

function alert(){
        case $1 in
                "")
                        [[ -n $alert ]] && echo -en "\a";;
                set)
                        export alert=true;;
                unset)
                        unset alert;;
        esac
}

# add function alert to your PROMPT_COMMAND
PROMPT_COMMAND='alert'

然后您可以启用警报:

alert set
command1
command2
alert unset

2b.两者结合

function alert(){
        case $1 in
                "")
                        [[ -n $alert ]] && echo -en "\a";;
                set)
                        export alert=true;;
                unset)
                        unset alert;;
                *)
                        $@
                        echo -en "\a";;
        esac
}

# add function alert to your PROMPT_COMMAND
PROMPT_COMMAND='alert'

上述两种方式: alert sudo apt update

alert set
command1
command2
aler unset

相关内容