为什么一旦我开始在FOR I循环中使用它,echo显示命令而不是命令的输出?例如,此命令有效
root@linux1 tmp]# iscsiadm -m node |awk '{print $1}'
192.168.100.88:326
但不是FOR FOR循环
[root@linux1 tmp]# for i in 'iscsiadm -m node | awk '{print $1}'';do echo $i;done
iscsiadm -m node | awk {print
}
我希望命令打印第一个字段,然后我可以为For I循环添加其他功能。感谢
编辑 - 不知道为什么我对这个问题投了反对票。请指教。
答案 0 :(得分:2)
您没有执行iscsiadm
和awk
命令,因为您引用了它;这使它成为一个文字字符串。要将命令的输出替换回命令行,请使用$(...)
for i in $(iscsiadm -m node |awk '{print $1}'); do
echo $i
done