Относится к позиционным параметрам $ 1 ... $ n
.
$ {1: -default}
означает «если параметр 1 не задан или пуст, то использовать вместо него default
».
Предупреждение: не путайте $ {1: -2}
с $ {1: -2}
. В bash последний заменяется двумя последними символами $ 1
.
Пример:
$ set --
$ echo "${1:-2}"
2
$ set 345 678
$ echo "${1:-2}"
345
$ echo "${1: -2}"
45
Это может происходить из-за вашей кодировки EOL. Если вы разрабатываете в Windows, вы должны написать и сохранить свой сценарий с помощью Unix EOL.