Как указать параметр по умолчанию в Unix? - PullRequest
0 голосов
/ 27 ноября 2010

Скажем, у меня есть функция кричать в моем файле .profile. Когда я запускаю shoutout 'Hello', функция выводит Hello, что является ожидаемым ответом. Тем не менее, я хотел бы иметь возможность просто вызвать shoutout без параметров и вывести функцию Foobar.

Как указать значение по умолчанию для $ 1 с переменными или без них? Спасибо!

shoutout() {
    echo $1
}

Ответы [ 2 ]

7 голосов
/ 27 ноября 2010
shoutout() {
    echo ${1:-Foobar}
}
<Ч />

РЕДАКТИРОВАТЬ: Спасибо @ephemient за этот дополнительный бит, о котором я не знал ...

Чтобы не путать аргумент с пустой строкой как отсутствующий аргумент, пропустите двоеточие (:):

shoutout() {
    echo ${1-Foobar}
}

$ shoutout
Foobar
$ shoutout ""

$
0 голосов
/ 27 ноября 2010
shoutout() {
    if [ $# -eq 0 ]; then
        echo No arguments.
    else
        echo $1
    fi
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...