Как именно программы или команды оболочки bash работают в системах Linux?

При запуске в терминале, вывод на терминал, 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
1
18.10.2020, 14:11
1 ответ

То, о чем вы спрашиваете, справедливо для всех Unix, а не только для Gnu/Linux.

Следует отметить, что после forkне нужно выполнять exec. Таким образом, для оболочки, встроенной -, оболочка будет разветвляться, а затем выполнять встроенную -в команде.

Оболочка также будет разветвлена ​​для дополнительной -оболочки. Оболочка не разветвляется, когда в этом нет необходимости :, например. для простых встроенных команд. Где простые включения не входят в конвейер.

Также (не упомянутые в вашем вопросе )трубы. Они создаются перед разветвлением, но подключаются после forkи до необязательных (, см. встроенные -модули ), exec.

1
18.03.2021, 22:56

Теги

Похожие вопросы