расширение скобок bash :возможно ли связать другой список (s )с исходным списком?

useradd --home /path/to/home \
    --ingroup groupname \
    --gecos "Stuff" username

passwd username

https://manpages.debian.org/jessie/adduser/adduser.8.de.html

1
20.10.2021, 15:18
1 ответ

Как указал choroba , использование {x..z}' --opt '{1..3}';'сгенерирует все возможные комбинации строк.

Из списка всех возможных комбинаций, от 1 до 9, нам нужна каждая четвертая комбинация, 1, 5 и 9.

set -- {x..z}' --opt '{1..3}';'
eval echo '${'{1..9..4}'}'

Или, используя массивы, выборку элементов 0, 4 и 8.

strings=( {x..z}' --opt '{1..3}';' )
eval echo '${strings['{0..8..4}']}'

Обратите внимание, что я никогда не стал бы писать настоящий код, подобный этому, и что приведенный выше код генерирует строки, которые практически бесполезны для использования в качестве реальных команд/аргументов, поскольку они должны быть явно разделены оболочкой.

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

1
20.10.2021, 16:18

Теги

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