我使用它來生成SVN日誌爲特定用戶:Bash和變量代換
svn log | sed -n '/bob/,/-----$/ p'
工作正常。現在我想爲用戶使用一個參數/變量:
USER="bob"
svn log | sed -n '/$USER/,/-----$/ p'
但它只是給出一個空的日誌。如何將參數傳遞給上述命令?
我使用它來生成SVN日誌爲特定用戶:Bash和變量代換
svn log | sed -n '/bob/,/-----$/ p'
工作正常。現在我想爲用戶使用一個參數/變量:
USER="bob"
svn log | sed -n '/$USER/,/-----$/ p'
但它只是給出一個空的日誌。如何將參數傳遞給上述命令?
使用單引號:
USER="bob"
svn log | sed -n '/'$USER'/,/-----$/ p'
嘗試:
SVN的日誌| SED -n '/ 「$ USER」/,/ ----- $/P'
做到這一點,正確的方法是用雙引號,這樣bash的變量可以被擴展爲:
USER="bob"
svn log | sed -n "/$USER/,/-----$/p"
添加更多單引號來「插入」bash變量(按照接受的答案)並不是最佳做法。 HTH。
+1更清潔的解決方案。我想這也很好解釋爲什麼最後的'$'沒有被擴展,或者它可能需要被轉義 –
我曾嘗試過,並沒有奏效。 – u123