Корректный путь к опциям длины переменной документа в страницах справочника

Вот моя попытка - она немного корявая, вероятно, есть много более чистых способов, но она работает:

$ jobs
[4]   Running                 ./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 10000 &
[5]-  Running                 ./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab 10000 &
[6]+  Running                 ./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac 10000 &

Чтобы сделать то, что вы хотите:

$ jobs -l | tr -s " " | cut -d" " -f 2 | xargs -L1 -I PID bash -c "cat /proc/PID/cmdline ; echo"
./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa10000
./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab10000
./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac10000

Объяснение:

jobs -l перечисляет задания с PID

tr -s " " сжимает несколько пробелов в один

cut -d"" -f 2 выбирает второе поле - PID

xargs ... запускает одну команду на строку, и команда, которую он запускает, это...

bash -c {...} для запуска новой оболочки bash, которая выполнит...

cat /proc/xxx/cmdline, чтобы показать командную строку, которая первоначально запустила процесс

Надеюсь, это поможет.

2
13.05.2014, 02:37
1 ответ

Нет, не на самом деле , но в большинстве случаев это довольно согласованно. В большинстве руководств необязательные аргументы указываются в квадратных скобках ( [foo] ), обязательные - в угловых скобках или вообще без скобок ( , baz , последнее часто подчеркивается).

Кроме того, почти во всех случаях, если количество аргументов является переменным, у вас будет какой-то список (как вы упомянули, [quux ...] или [quux [, quux [...]]] ...), где аналогично [quuz] в большинстве случаев означает ровно один аргумент. В редких случаях [quuz] может также означать «один или несколько аргументов», но большинство руководств соответствуют многоточию в форме списка.

Это квази-стандарт, но на него нельзя положиться. Но по моему опыту это нормально в 95% раз.

Дело в том, что существуют сотни поставщиков программного обеспечения любого уровня, не только «крупные игроки», но также есть программное обеспечение, написанное отдельными людьми и доказавшее свою полезность. Все они (надеюсь) пишут свои man-страницы каким-то индивидуальным образом ... большинство из них знают достаточно хорошо, чтобы заботиться об общих условностях, но есть и такие, кому все равно или у них есть какие-то умственные недостатки в отношении стиля вкуса и т.;)

1
27.01.2020, 22:22

Теги

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