需要bash脚本方面的帮助吗

需要bash脚本方面的帮助吗,bash,shell,Bash,Shell,我不熟悉shell脚本,我的代码遇到了一些问题。目前,我有这行代码,它能够在我的终端上完美运行,这将为我提供我正在寻找的结果: cat BookDB.txt | awk -F ":" '$1 ~ $Title' 但是,当我尝试将其实现到脚本中时,没有显示任何结果。有人能帮我解决这个问题吗?是不是$Title应该是一个shell变量?如果是这样,shell就不能替换它,因为awk主体是单引号。使用awk的-v选项将shell变量传递到awk: awk -F : -v "title=$Title"

我不熟悉shell脚本,我的代码遇到了一些问题。目前,我有这行代码,它能够在我的终端上完美运行,这将为我提供我正在寻找的结果:

cat BookDB.txt | awk -F ":" '$1 ~ $Title'

但是,当我尝试将其实现到脚本中时,没有显示任何结果。有人能帮我解决这个问题吗?

是不是$Title应该是一个shell变量?如果是这样,shell就不能替换它,因为awk主体是单引号。使用awk的
-v
选项将shell变量传递到awk:

awk -F : -v "title=$Title" '$1 ~ title' BookDB.txt

另请参见

您能否发布文本文件的内容,或者最好是其中的几行?您所说的“将此实现到我的脚本中”是什么意思?您试图实现什么?您是否将$Title表示为脚本的输入,并试图匹配它?坦白地说,如果您以与此处完全相同的方式(相同的单引号变量扩展尝试)输入,很难相信它在您的终端上“完美”运行。我想知道为什么会有这么多?