Это мой образец Bash Script example.sh:
#!/bin/bash
# Reading arguments and mapping to respective variables
while [ $# -gt 0 ]; do
if [[ $1 == *"--"* ]]; then
v="${1/--/}"
declare $v
fi
shift
done
# Printing command line arguments through the mapped variables
echo ${arg1}
echo ${arg2}
Теперь, если в терминале я запускаю скрипт bash следующим образом:
$ bash ./example.sh "--arg1=value1" "--arg2=value2"
Я получаю правильный вывод, например:
value1
value2
Идеальный! Это означает, что я смог использовать значения, переданные в аргументы --arg1 и --arg2, используя переменные ${arg1} и ${arg2} внутри скрипта bash.
На данный момент я доволен этим решением, поскольку оно служит моей цели, но кто-нибудь может предложить лучшее решение для использования именованных аргументов командной строки в сценариях bash?