BASH. Справочное пособие. Вячеслав Вячеславович Ткачев
Чтение книги онлайн.
Читать онлайн книгу BASH. Справочное пособие - Вячеслав Вячеславович Ткачев страница 7
В одной строчке можно присвоить значение сразу
нескольким переменным.
$ firstname=Max lastname=Corn
$ echo $firstname; echo $lastname
Max
Corn
если значение по команде declare -i , то правая часть как вырражение
$ i=3+5 ;echo $i
3+5
$ declare -i jj; jj=5+3; echo $jj
8
4.2 Подстановка переменных.
Установить значение переменной,проверить.
$ a=123; echo $a;
123
$ echo {$a}
{123}
$ echo {\$a};
{$a}
echo {'$'$a}
{$123}
${переменная}
Использовать значение переменной для массивов.
$ a=(0 1 2 )
$ echo ${a[1]}
1
${переменная :-значение} Использовать
переменную, если она указана, иначе – заданное
значение.
$ b=5
$ echo ${b:-10}
5
max@hp:~$ echo ${c:-10}
10
${переменная :=значение}
Использовать переменную,иначе заданное значение, присвоив его указанной переменной
max@hp:~$ echo ${USER:=max2}
max
max@hp:~$ echo ${USER1:=max2}
max2
${переменная :?значение}
Использовать указанное значение если она
установлена, иначе выйти из оболочки.
$ echo ${c:?125}
bash: c: 125
${переменная :+значение}
Использовать указанное значение,иначе не
использовать ничего.
$ c=file1.txt
$ echo ${c:+filen.txt}
filen.txt
$ echo ${d:+filen.txt}
$
${#переменная} Использовать длину указанной
переменной.
$ echo $c
file1.txt
$ echo ${#c}
9
$ ${#*},${#@} Использовать количество позиционных параметров.
${переменная #шаблон}
Использовать после удаления слева
теста ,совпадающего с шаблоном. Удалить самый короткий совпадающий фрагмент.
c=file1.txt
1.txt
${переменная##шаблон} Удалить самый длинный
совпадающий фрагмент
$ echo ${c##file}
1.txt
${переменная ##шаблон} То же что и
ранее ,короткий и длинный фрагмент справа.
${переменная %шаблон}
${переменная %%шаблон}
$ echo ${c%.txt}
file1
max@hp:~$ echo ${c%%txt}
file1.
${переменная /шаблон/замена}
$ data=`date`
$ echo ${data}
Чт июн 13 10:56:05 MSK 2019
$ echo ${data/Чт}
июн 13 10:56:05 MSK 2019
${переменная //шаблон/замена}
$ echo ${data//Чт июн/Пт июль}
Пт июль 13 10:56:05 MSK 2019
${переменная