Это мой пример 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?