我如何 escape/finish 这个简单的 bash 别名 Mac?
how do I escape/finish this simple bash alias on Mac?
我想要实现的:我在终端输入s
,25分钟后我收到了休息的通知。这是代码:
alias s='sleep 1500 && osascript -e 'display notification "break" with title "break"''
如果我包含最后一个 '
,我会收到错误消息,如果我不包含,也会收到错误消息。
使用别名
可以将单引号字符串与单引号组合起来,如下所示:
$ 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"'; }
我想要实现的:我在终端输入s
,25分钟后我收到了休息的通知。这是代码:
alias s='sleep 1500 && osascript -e 'display notification "break" with title "break"''
如果我包含最后一个 '
,我会收到错误消息,如果我不包含,也会收到错误消息。
使用别名
可以将单引号字符串与单引号组合起来,如下所示:
$ 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"'; }