2014-09-21 64 views
0

我有一個變量,可能是也可能不是空的。如果它不是空的,我想要這個價值。如果它是空的,我想要其他一些命令的值。例如:或shell腳本中的兩個值?

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

我不確定上面的代碼是否可以正常工作。但基本上我想運行git config並將結果存儲在user_name中,如果name_override變量未設置(因此不會提供$1)。

我該如何正確地做到這一點?

+1

[在bash中使用單個命令將默認值分配給shell變量](http://stackoverflow.com/questions/2013547/assigning-default-values-to-shell-variables-with-a-single -command-in-bash) – 2014-09-21 16:54:20

+0

@TomFenech謝謝你的回答我的問題。我在發佈之前做過搜索,但沒有找到。 – 2014-09-21 16:56:39

+0

沒問題,很高興你的問題得到解決。 – 2014-09-21 16:57:00

回答

1

bash成語達到這個目的是

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

其中:-說,使用的$1的值,如果它被設置和非空,否則使用下列字符串。