假设我的.profile
文件中有函数shoutout。
当我运行shoutout 'Hello'
时,该函数会打印出Hello
,这是预期的响应。不过,我希望能够简单地在没有参数的情况下拨打shoutout
,并打印出Foobar
功能。
如何在有或没有变量的情况下为$ 1指定默认值?谢谢!
shoutout() {
echo $1
}
答案 0 :(得分:7)
shoutout() {
echo ${1:-Foobar}
}
编辑:感谢@ephemient这个额外的tid-bit,我不知道...
为避免将空字符串参数混淆为缺少参数,请省略冒号(:
):
shoutout() {
echo ${1-Foobar}
}
$ shoutout
Foobar
$ shoutout ""
$
答案 1 :(得分:0)
shoutout() {
if [ $# -eq 0 ]; then
echo No arguments.
else
echo $1
fi
}