![如何在进程替换中进行shell变量扩展?](https://linux22.com/image/203429/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%BF%9B%E7%A8%8B%E6%9B%BF%E6%8D%A2%E4%B8%AD%E8%BF%9B%E8%A1%8Cshell%E5%8F%98%E9%87%8F%E6%89%A9%E5%B1%95%EF%BC%9F%20.png)
我的脚本中有这样的命令:
regex="abba"
diff <(grep "${regex}" file1) file2
问题是如果我运行带有变量的脚本bash script.sh
则${regex}
不会扩展。我可以以不同的方式运行脚本 - 使用source script.sh
.这样变量就得到了扩展。这是怎么回事以及如何更改脚本以便它可以运行?
我还测试了变体:"$regex"
, "${regex}"
, $regex
。
#!/bin/bash
剧本里有咒语。
我的脚本中有这样的命令:
regex="abba"
diff <(grep "${regex}" file1) file2
问题是如果我运行带有变量的脚本bash script.sh
则${regex}
不会扩展。我可以以不同的方式运行脚本 - 使用source script.sh
.这样变量就得到了扩展。这是怎么回事以及如何更改脚本以便它可以运行?
我还测试了变体:"$regex"
, "${regex}"
, $regex
。
#!/bin/bash
剧本里有咒语。