Bash和变量替换

时间:2012-12-13 09:09:08

标签: bash

我用它来为特定用户生成svn日志:

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

工作正常。现在我想为用户使用参数/变量:

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

但它只是给出一个空日志。如何将参数传递给上述命令?

3 个答案:

答案 0 :(得分:2)

执行此操作的正确方法是使用双引号,以便可以扩展bash变量:

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

添加更多单引号以“插入”bash变量(根据接受的答案)不是最佳做法。 HTH。

答案 1 :(得分:1)

使用单引号:

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

答案 2 :(得分:0)

尝试:

svn log | sed -n'/“$ USER”/,/ ----- $ / p'