При запуске в терминале, вывод на терминал, lsblk
регулирует вывод в соответствии с доступной шириной, при необходимости усекая столбцы. Это приводит, в частности, к сокращению серийных номеров.
Чтобы убедиться, что вы получаете полный вывод, вы можете перенаправить вывод в другую программу:
lsblk -o type,name,label,partlabel,size,model,serial,wwn,uuid | cat
или еще лучше, если вы хотите опубликовать -обработайте информацию, используйте машиночитаемый -формат — lsblk -J
выведет JSON:
lsblk -o type,name,label,partlabel,size,model,serial,wwn,uuid -J
То, о чем вы спрашиваете, справедливо для всех Unix, а не только для Gnu/Linux.
Следует отметить, что после fork
не нужно выполнять exec. Таким образом, для оболочки, встроенной -, оболочка будет разветвляться, а затем выполнять встроенную -в команде.
Оболочка также будет разветвлена для дополнительной -оболочки. Оболочка не разветвляется, когда в этом нет необходимости :, например. для простых встроенных команд. Где простые включения не входят в конвейер.
Также (не упомянутые в вашем вопросе )трубы. Они создаются перед разветвлением, но подключаются после fork
и до необязательных (, см. встроенные -модули ), exec
.