Я хотел бы знать, как добавлять аргументы к командам.
Я бы хотел, чтобы это было примерно так:
$ arg --test
«arg» будет основной командой, а «--test» — аргументом.
решение1
Для пронумерованных аргументов между 0
и , 9
где x
— конкретный пронумерованный аргумент, используйте следующую нотацию:
$x
Для пронумерованных аргументов выше, где x
— конкретный пронумерованный аргумент, используйте следующую нотацию:
${x}
Для получения списка всех аргументов используйте это:
${@}
Или это:
${*}
Обратите внимание, что при заключении в двойные кавычки ${*}
все аргументы, разделенные пробелом (обычно технически это первый символ переменной $IFS
(внутренний разделитель полей)), разворачиваются в одну строку. ${@}
При заключении в двойные кавычки разворачиваются в несколько строк.
${@}
При использовании или скобки не нужны ${*}
.
решение2
Это может быть дубликатом ответов на вопросы. Однако, пожалуйста, найдите возможное решение вашего запроса в виде очень простого скрипта оболочки ниже.
#!/bin/bash
for i in ${@} ; do
case ${i} in
--test) echo "test option found"
;;
*) echo "Usage: $0 [--test]"
exit 1
esac
done
echo "$0 finished."
Вы можете узнать что-то большее, если поиграетесь с опциями этого скрипта оболочки в командной строке. Это может дополнить первый ответJL2210вполне уместно.
Примечание. Целью этой строки echo "Usage: $0 [--test]"
является предоставление справочного сообщения, и в ней используется соглашение об указании необязательных аргументов в квадратных скобках.
Надеюсь это поможет.