Bash, предупреждение без аргументов и решения случая

Я изучаю удар.

Я хотел бы сделать простой сценарий, который, если не данные аргументы, показывает некоторое сообщение. И когда я даю numers как аргумент, s в зависимости от значения, это делает одну вещь или другого.

Я также хотел бы знать предложения для лучших руководств онлайн для новичков в ударе

Спасибо

95
задан Open the way 11 March 2010 в 19:26
поделиться

2 ответа

if [[ $# -eq 0 ]] ; then
    echo 'some message'
    exit 0
fi

case "$1" in
    1) echo 'you gave 1' ;;
    *) echo 'you gave something else' ;;
esac

Руководство Advanced Bash-Scripting Guide довольно хорошее. Несмотря на название, в нем рассматриваются основы.

151
ответ дан 24 November 2019 в 05:50
поделиться

Пример

 if [ -z "$*" ]; then echo "No args"; fi

Результат

No args

Подробности

-z - унарный оператор для длины строки, равной нулю. {{1} } $ * - это все аргументы. Кавычки предназначены для безопасности и инкапсуляции нескольких аргументов, если они есть.

Используйте man bash и выполните поиск (клавиша / ) для «унарного» для большего количества таких операторов.

10
ответ дан 24 November 2019 в 05:50
поделиться
Другие вопросы по тегам:

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