或者shell脚本中的两个值?

时间:2014-09-21 16:47:36

标签: linux shell

我有一个可能为空的变量,也可能不为空。如果它不是空的,我想要那个价值。如果它是空的,我想要一些其他命令的值。例如:

my_function ()
{
    name_override="$1"
    user_name=${name_override} || $(git config "user.name")
}

我不确定上面的代码是否有用。但基本上我想运行git config并将结果存储在user_name中,如果name_override变量未设置(因此不会提供$1)。

我该如何正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

完成此任务的bash成语是

user_name=${1:-$(git config "user.name")}

其中:-表示使用$1的值(如果已设置且非null),否则请使用以下字符串。