Я пишу приложение для командной строки, которое шифрует пароли и расшифровывает хэши паролей. Документы для Getopt не содержат примеров, поэтому я понятия не имею, как использовать класс Getopt. Несколько подсказок разбросаны в журналах списка рассылки .
В частности, я не знаю формат with: pattern
, строки, определяющей аргументы CLI, и являются ли значения обязательными, необязательными или опущенными.
ios7crypt.st:
"exec" "gst" "-f" "$0" "$0" "$@"
"exit"
| args password hash |
"Drop the program name."
"The shebang joins the arguments; we must split them."
args := (Smalltalk getArgv: 2) substrings: $ .
args do: [ :arg | Transcript show: 'Raw arg: ', arg; cr. ].
Getopt parse: args with: '-e: -d: -t' do: [ :opt :arg |
Transcript show: 'Opt: ', (opt asString), ' Arg: ', arg; cr.
"..."
].
Пример выполнения:
$ ./ios7crypt.st -e monkey
Raw arg: -e
Raw arg: monkey
Opt: e Arg: monkey
Ранее оба сценария -e
и monkey
были переданы в сценарий, но do:
Гетопта тихо отбросил -e
, поэтому результат выглядел следующим образом:
$ ./ios7crypt.st -e monkey
Raw arg: -e
Raw arg: monkey
Opt: Arg: monkey