Что я хочу сделать, достаточно просто, но я не могу сделать это без нескольких команд. Это то, на что похоже. Мне бы хотелось, чтобы это можно было сделать в одной небрежно выглядящей строке, которая сразу передает все команды.Формат вывода нескольких команд 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
Я пытался сделать это с помощью подклассов, переменных и т. Д. Формат заканчивается несогласованным или хуже.
# 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
You da man! Благодаря! –
Я прочитал о замещении процесса раньше с тройником, но это меня сбило с толку. Это ставит его в более легкий контекст. –