簡體   English   中英

在“別名”中加上引號是“CSH”

[英]putting quotation marks in `alias` is `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調用不會有太大作用。 (編輯我的答案幾次,以確保它完全符合您的原始命令。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM