echo "Unix script" | awk 'gsub(/Unix/, \"'"$var\"'")'这个错误出在哪里,怎么修改
时间: 2023-09-28 08:11:18 浏览: 87
用shell脚本防ssh和vsftpd暴力破解的详解讲解
这个命令的目的是把字符串 "Unix script" 中的 "Unix" 替换成变量 $var 的值。但是在 awk 的命令中,双引号需要用反斜杠转义,而在双引号中嵌套变量也需要使用单引号或反斜杠进行转义。所以,正确的命令应该是:
```
echo "Unix script" | awk 'gsub(/Unix/, "'"$var"'")'
```
或者
```
echo "Unix script" | awk "gsub(/Unix/, \"$var\")"
```
其中,第一个命令使用了单引号和双引号的混合形式,第二个命令使用了双引号和反斜杠的形式。这两个命令的效果都是一样的,都可以把 "Unix" 替换成 $var 的值。
阅读全文