Методы объявления переменной в сценарии оболочки

В чем разница между следующими двумя методами объявления переменной в сценарии оболочки?

var='some/path'

var=${var:-"some/path"}
1
Вот еще один способ: : $ {var: = "some/path"}
добавлено автор glenn jackman, источник

2 ответы

var='some/path'

Всегда будет задавать var для некоторого/пути

var=${var:-"some/path"}

Будет указывать только var для некоторого/path, если var, если он еще не установлен. Если он установлен, его значение не изменится.

0
добавлено
#this will set var value with some/path, 
#no matter var is empty or not (overwrite)
var='some/path' 


# this will set value of var to "some/path" 
#only if var is empty/or not declared yet.
var=${var:-"some/path"} 
0
добавлено