当我开始在 FOR I 循环中使用 echo 时,为什么 echo 显示命令而不是命令的输出?例如这个命令有效
root@linux1 tmp]# iscsiadm -m node |awk '{print $1}'
192.168.100.88:326
但不在 FOR I 循环中
[root@linux1 tmp]# for i in 'iscsiadm -m node | awk '{print $1}'';do echo $i;done
iscsiadm -m node | awk {print
}
我希望该命令打印第一个字段,以便我可以向 For I 循环添加其他功能。谢谢
编辑——不知道为什么我在这个问题上被否决了。请指教。
最佳答案
您没有执行 iscsiadm
和 awk
命令,因为您引用了它;这使它成为一个文字字符串。要将命令的输出替换回命令行,请使用 $(...)
for i in $(iscsiadm -m node |awk '{print $1}'); do
echo $i
done
关于linux - 为什么 echo 显示命令本身而不是命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32917678/