0
我想要做的事很简单,但是我不能在没有几个命令的情况下完成它。这是迄今为止的样子。我很乐意能够在一条马虎的线上做到这一点,它只是一次通过所有的命令。将多个bash命令的输出格式化为列
# cat /sys/class/scsi_host/host*/device/fc_host:host*/port_name >port
# cat /sys/class/scsi_host/host*/device/fc_host:host*/speed >speed
# cat /sys/class/scsi_host/host*/device/fc_host:host*/port_state >state
# paste -d ' ' port speed state
0x218000e01a0002d2 8 Gbit Online
0x218100e01a2002d2 8 Gbit Online
我试图用子shell,变量等来做到这一点。格式结束了错位,或更糟。
# echo "$port_name" "$speed" "$state"
0x218000e01a0002d2
0x218100e01a2002d2 8 Gbit
8 Gbit Online
Online
# paste -d ' ' "$(cat /sys/class/scsi_host/host*/device/fc_host:host*/port_name)" "$(cat /sys/class/scsi_host/host*/device/fc_host:host*/speed)"
paste: 0x218000e01a0002d2
0x218100e01a2002d2: No such file or directory
你达人!谢谢! – 2013-03-06 15:50:54
我已经阅读过有关tee的过程替换,但这让我感到困惑。这将其放入更简单的上下文中。 – 2013-03-06 16:07:57