Если для обязательной опции не указан аргумент, zparseopts принимает в качестве аргумента следующую опцию

Не так просто уменьшить скорость ЦП до определенной частоты, но в этом сообщении блога вы найдете скрипт для отключения турбо -повышения:http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html

(Это, вероятно, решит проблему для многих искателей, которые оказались здесь.)

0
16.06.2020, 13:51
1 ответ

Для сравнения, я почти уверен, что так же работает и функция GNU C getopt_long, т.е. с GNU ls:

$ ls --sort --foo
ls: invalid argument ‘--foo’ for ‘--sort’
Valid arguments are:
...

Если вы сделаете аргумент --walkнеобязательным, zparseoptsпримет --watch --showкак два аргумента:

In all cases, option-arguments must appear either immediately following the option in the same positional parameter or in the next one. Even an optional argument may appear in the next parameter, unless it begins with a ‘-’.

Но кажется, что пользователю просто нужно знать, какие параметры принимают аргументы, что также происходит с короткими параметрами, например. tar -tzfсильно отличается от tar -tfz.

Использование (только )--sort=whatever, на мой взгляд, сделало бы это более ясным, но zparseoptsдаже не поддерживает =напрямую.(--sort=whateverдаст =whateverв качестве значения аргумента ). И это не работает для коротких опционов.

2
18.03.2021, 23:27

Теги

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