需要帮助awk 试图将awk o / p分配给变量;得到以下错误。
var= $(awk '{print $2;next;}' <<< "$OLD_ADDR")
echo $var
Where ...OLD_ADDR = "gateway 192.168.1.1"
******** Error from console log using set -x *******
+++ awk '{print $2;next;}'
++ var=
++ 192.168.1.21
-bash: 192.168.1.21: command not found
++ echo
谢谢你, pisignage@ariemtech.com
答案 0 :(得分:1)
空间很重要。
考虑:
var= $(awk '{print $2;next;}' <<< "$OLD_ADDR")
这告诉shell将变量var
设置为空,然后运行awk
语句打印出的任何命令。在您的情况下,该命令是192.168.1.1
。由于shell在PATH上找不到这样的命令,因此会生成错误:
-bash: 192.168.1.21: command not found
解决方案是写:
var=$(awk '{print $2;next;}' <<< "$OLD_ADDR")
相反,这会将awk
命令的输出分配给var
。
在shell中进行赋值时,等号的两边都不允许有空格。