我有這樣的命令,我想要做什麼,但我不能讓別名它在我的.bashrc(請注意,它使用單引號和雙引號):bash的alias命令
svn status | awk '$1 =="M"{print $2;}'
我已經試過:
alias xx="svn status | awk '$1 ==\"M\"{print $2;}'"
而且沒有運氣其他一些常識的組合。我知道的bash是非常挑剔的報價..那麼什麼是它的別名,爲什麼正確的方法是什麼?謝謝
我有這樣的命令,我想要做什麼,但我不能讓別名它在我的.bashrc(請注意,它使用單引號和雙引號):bash的alias命令
svn status | awk '$1 =="M"{print $2;}'
我已經試過:
alias xx="svn status | awk '$1 ==\"M\"{print $2;}'"
而且沒有運氣其他一些常識的組合。我知道的bash是非常挑剔的報價..那麼什麼是它的別名,爲什麼正確的方法是什麼?謝謝
你只需要正確地轉義它。
alias xxx="svn status | awk '\$1 ==\"M\"{print \$2;}'"
這是不使用別名完成相同的事情。把它放在你的.bashrc中的一個函數中:
xx() {
svn status | awk '$1 =="M"{print $2;}'
}
這樣你就不用擔心得到引號了。這使用了與命令行相同的語法。
+1,但是一個詭辯 - 'function'關鍵字是與POSIX的不必要的不兼容。只要把它關掉:'xx(){...' –
我不知道。謝謝。 – EJK
這更簡單,我喜歡它,但另一個更精確地回答了這個問題。 –
所以我沒有逃避$ ..不知道! –
不錯!我不知道我必須逃避'$'! – Shadoninja
很好的答案,但也提醒一下,犯錯是多麼容易。在我處理的情況下,已經有了逃脫的角色,並且造成了巨大的混亂。 EJK的答案對我來說更有用,對許多人來說,函數可能是一個更乾淨的選項:) – jerclarke