linux – 在’alias`中加上引号是`CSH`
作者:互联网
我想要一个将执行fallowing命令的别名:
zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut -d"'" -f2,4 | tr "'" "\t"
我已经尝试了不同的方法将它放到别名中,但它们似乎都没有用.
例如,我的一些尝试:
alias get_failed "zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut \"\'\" -f2,4 | tr \"\'\" \"\\t\""
alias get_failed "zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut \"\'\" -f2,4 | tr \"\'\" \"\\t\"
和其他人,我怎么能做我的别名?
解决方法:
问题是由csh功能引起的:如果你已经在“引用的字符串中,你就无法逃脱”(它与’相同).由于兼容性问题,这仍然是默认设置.您可以使用saner shell或使用backslash_quote配置:
set backslash_quote
alias get_failed "zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut -d\"'\" -f 2,4 | tr \"'\" \"\\t\""
另外,请注意您的cut to call会删除任何单引号(‘),因此您的tr调用不会有太大作用. (编辑我的答案几次,以确保它完全符合您的原始命令.)
标签:linux,alias,csh 来源: https://codeday.me/bug/20190630/1337911.html