Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Розширення для керування пустими змінними

Кілька розширень параметрів призначені для роботи з неіснуючими і порожніми змінними. Ці розширення зручні для обробки відсутніх позиційних параметрів і призначення параметрам значень за замовчуванням.

${параметр:-слово}

If параметр не встановлено (тобто не існує) або порожнє, це розширення призводить до значення слово. Якщо параметр не є порожнім, розширення призводить до значення параметр.



[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:-"замінити значення, якщо не встановлено"}

замінити значення, якщо не встановлено [me@linuxbox ~]$ echo $foo


[me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:-"замінити значення, якщо не встановлено"}

бар

[me@linuxbox ~]$ echo $foo

бар

[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:-"замінити значення, якщо не встановлено"}

замінити значення, якщо не встановлено [me@linuxbox ~]$ echo $foo


[me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:-"замінити значення, якщо не встановлено"}

бар

[me@linuxbox ~]$ echo $foo

бар


${параметр:=слово}

If параметр не встановлено або порожнє, це розширення призводить до значення слово. Крім того, значення слово присвоюється параметр. Якщо параметр не є порожнім, розширення призводить до значення параметр.


[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:="значення за замовчуванням, якщо не встановлено"}

значення за замовчуванням, якщо не встановлено [me@linuxbox ~]$ echo $foo значення за замовчуванням, якщо не встановлено [me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:="значення за замовчуванням, якщо не встановлено"}

бар

[me@linuxbox ~]$ echo $foo

бар

[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:="значення за замовчуванням, якщо не встановлено"}

значення за замовчуванням, якщо не встановлено [me@linuxbox ~]$ echo $foo значення за замовчуванням, якщо не встановлено [me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:="значення за замовчуванням, якщо не встановлено"}

бар

[me@linuxbox ~]$ echo $foo

бар


Примітка: таким чином не можна призначити позиційні та інші спеціальні параметри.



${параметр:?слово}

If параметр не встановлено або порожнє, це розширення призводить до завершення сценарію з помилкою, а вміст слово посилаються на стандартну помилку. Якщо параметр не є порожнім, розширення призводить до значення параметр.



[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:?"параметр пустий"}

bash: foo: параметр пустий [me@linuxbox ~]$ echo $?

1

[me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:?"параметр пустий"}

бар

[me@linuxbox ~]$ echo $?

0

[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:?"параметр пустий"}

bash: foo: параметр пустий [me@linuxbox ~]$ echo $?

1

[me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:?"параметр пустий"}

бар

[me@linuxbox ~]$ echo $?

0


${параметр:+слово}

If параметр не встановлений або порожній, розширення нічого не приводить. Якщо параметр не порожній, значення слово замінюється параметр; однак значення параметр не змінено.



[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:+"замінне значення, якщо встановлено"}


[me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:+"замінне значення, якщо встановлено"}

[me@linuxbox ~]$ foo=

[me@linuxbox ~]$ echo ${foo:+"замінне значення, якщо встановлено"}


[me@linuxbox ~]$ foo=бар

[me@linuxbox ~]$ echo ${foo:+"замінне значення, якщо встановлено"}


значення заміни, якщо встановлено

значення заміни, якщо встановлено


Найпопулярніші хмарні обчислення ОС на OnWorks: