2012-12-13 115 views
0

我使用它來生成SVN日誌爲特定用戶:Bash和變量代換

svn log | sed -n '/bob/,/-----$/ p' 

工作正常。現在我想爲用戶使用一個參數/變量:

USER="bob" 
svn log | sed -n '/$USER/,/-----$/ p' 

但它只是給出一個空的日誌。如何將參數傳遞給上述命令?

回答

1

使用單引號:

USER="bob" 
svn log | sed -n '/'$USER'/,/-----$/ p' 
0

嘗試:

SVN的日誌| SED -n '/ 「$ USER」/,/ ----- $/P'

+0

我曾嘗試過,並沒有奏效。 – u123

2

做到這一點,正確的方法是用雙引號,這樣bash的變量可以被擴展爲:

USER="bob" 
svn log | sed -n "/$USER/,/-----$/p" 

添加更多單引號來「插入」bash變量(按照接受的答案)並不是最佳做法。 HTH。

+0

+1更清潔的解決方案。我想這也很好解釋爲什麼最後的'$'沒有被擴展,或者它可能需要被轉義 –