0
我试图建立一个别名,在我的.bashrc文件,如下面:逃逸单引号的别名内部在bash
clear && printf '\033[3J'
但下面不工作
alias clall= "clear && printf \'\033[3J\'"
alias clall= "clear \&\& printf \'\\033\[3J\'"
我试图建立一个别名,在我的.bashrc文件,如下面:逃逸单引号的别名内部在bash
clear && printf '\033[3J'
但下面不工作
alias clall= "clear && printf \'\033[3J\'"
alias clall= "clear \&\& printf \'\\033\[3J\'"
一般关于别名的规则是,如果你有关于如何使用它们的问题(或者它们是否足够用于你的目的),你应该使用一个函数。一个函数给你所有的能力(相当多的,对于这个问题),并且不需要任何报价/转义语法:
clall() { clear && printf '\033[3J'; }
这就是说,一个方法来指定要的是别名以下的bash扩展语法:
# use $'' to make \' and '' valid/meaningful
alias clall=$'clear && printf \'\\033[3J\''
...其使用$''
以允许单引号(和反斜杠)单引号内转义;在正常的''
引用下,包含的反斜杠是文字。更POSIX-Y的做法是:
# use '"'"' to put a literal single-quote inside syntactic single-quotes
alias clall='clear && printf '"'"'\033[3J'"'"''
...或者,如果(这里)你没有这特殊的双引号内的任何语法:
# ...or just use double quotes for the whole thing, absent a reason not to
# ...using command substitution, paramater expansion, etc. would be such a reason.
alias clall="clear && printf '\033[3J'"
谢谢你这么多 – user2567338
如果这会全面回答您的问题,请考虑点击答案旁边的复选框以标记已解决的问题。 –