我正在浏览我的 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