在我的bash脚本中,我在文件中查找文本,并将其替换为我的bash脚本中的变量。我无法通过perl命令识别变量。任何想法?
mybash.bash:
#! /bin/sh
let "myNum=2"# myNum could be any integer
perl -pi -e 's/ABCD\d/ABCD$myNum/g' ./textfile.txt
TextFile.txt的:
'ABCD0'被上面的脚本
替换为'ABCD'答案 0 :(得分:7)
使用双引号以启用变量插值:
perl -pi -e "s/ABCD\d/ABCD$myNum/g" ./textfile.txt
^^^ ^^^
答案 1 :(得分:0)
您是否尝试过使用$($ myNum)? Bash需要能够执行/评估变量吗?
此外,单引号通常会打印文字字段并对事物进行双重评估,因此如果上述操作不起作用,您可能需要摆弄它