如何在Mac上转义/完成这个简单的bash别名?

时间:2015-08-05 23:18:40

标签: macos bash alias

我想要实现的目标:我在终端输入s,25分钟后我收到通知要休息一下。这是代码:

alias s='sleep 1500 && osascript -e 'display notification "break" with title "break"''

如果我包含最终的',我会收到错误,如果我不包含,也会收到错误。

1 个答案:

答案 0 :(得分:3)

使用别名

可以将单引号字符串与单引号组合如下:

$ echo 'a'\''b'
a'b

在上文中,'a'是单引号字符串。接下来是一个转义的单引号\',后跟另一个单引号字符串'b'。通过这种方式,可以使用单引号构建复杂的字符串。

对于您的命令,看起来像:

alias s='sleep 1500 && osascript -e '\''display notification "break" with title "break"'\'

使用功能

正如@Kevin所指出的,这更简单:

unalias s
s() { sleep 1500 && osascript -e 'display notification "break" with title "break"'; }