Чтение онлайн

на главную - закладки

Жанры

BASH. Справочное пособие
Шрифт:

${переменная}

Использовать значение переменной для массивов.

$ 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

${переменная /#шаблон/замена}

${переменная /%шаблон/замена}

Использовать max@hp:~$ greeting="hello friend"

$ declare -n message=greeting

$ echo message

message

$ echo $message

hello friend

$ message="by now"

$ echo $greeting

by now

$ {переменная@P} Вычислить значение указанной переменной.

$ echo ${c@P}

file1.txt

$

$ {переменная@Q} Заключить в кавычки значение указанной переменной.

$ c=file1.txt

$ echo ${c@Q}

'file1.txt'

${!переменная }

Использовать значение указанной переменной в качестве имени другой переменной ,значение которой должно быть использовано.

4.3 Косвенные переменные.

Косвенные переменные-это переменные именующие другие переменные.

Косвенные

переменные создаются по команде

declare -n

Пример 1

$ greeting=privet

$ echo $greeting

privet

$ declare -n message=greeting

$ echo $message

privet

Пример 2 Присвоить через косвенную переменную

значение основной переменной.

$ message=otvet

$ echo $greeting

otvet

Пример 3 Применение псевдонима

$ text=ok

$ echo $(!text)

echo $(text=ok)

4.4 Переменные, встроенные в оболочку.

Основные переменные.

$# количество аргументов в командной строке.

$-Действующие в настоящее время

параметры,представленные в командной строке.

$? Выходное значение последней,выполнявшейся

команды.

$$ Номер процесса ,присвоенный оболочке.

$! Номер процесса,присвоенной

команде,выполнявшейся в фоновом режиме.

$0 Первое слово, имя команды.

$n Oтдельные аргументы командной строки,если больше 9 форма ${n}

$*,$@ Все аргументы командной строки ($1,$2..)

Пример 1

$ cat >param.sh

#!/bin/sh

echo "$#"

echo "$0"

echo "$?"

echo "$$"

echo "$@"

echo "$*"

exit 0

Запускаем скрипт с параметрами a b c d

$ sh param.sh a b c d

4

param.sh

0

2698

a b c d

a b c d

4.5 Дополнительные переменные.

$_ Временная переменная ,хранит последний аргумент предыдущей команды. Пример

$ ls -l f2.txt

–rw-rw-rw- 1 max1 max1 6 апр 24 12:57 f2.txt

$ echo $_

f2.txt

BASH Полный путь для вызова оболочки

$ echo $BASH

/usr/bin/bash

BASHOPTS Доступный для чтения список

активизированных в настоящий момент параметров оболочки.

$ echo $BASHOPTS Checkwinsize:cmdhist:complete_fullquote:

expand_aliases:extglob:extquote:force_fignore:

globasciiranges:histappend:interactive_comments:

progcomp:promptvars:sourcepath

BASHPID Индефикатор текущего процесса. Пример

$ echo $BASHPID

3321

Для сравнения используем встроенную переменную

$ $$

3321: команда не найдена

BASH_COMMAND Команда,которая выполняется в

текущий момент или готовится к исполнению. Это

команда выполняемая при появлении прерывания

MACHTYPE Тип машины

$ echo $MACHTYPE

x86_64-pc-linux-gnu

UID Переменная реальный числовой индефикатор текущего пользователя

mа1@hp:~$ echo $UID

Поделиться:
Популярные книги

Древесный маг Орловского княжества

Павлов Игорь Васильевич
1. Орловское княжество
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества

Вторая жизнь майора. Цикл

Сухинин Владимир Александрович
Вторая жизнь майора
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Вторая жизнь майора. Цикл

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Газлайтер. Том 22

Володин Григорий Григорьевич
22. История Телепата
Фантастика:
боевая фантастика
попаданцы
фэнтези
5.00
рейтинг книги
Газлайтер. Том 22

Я все еще не князь. Книга XV

Дрейк Сириус
15. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще не князь. Книга XV

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Черный рынок

Вайс Александр
6. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Черный рынок

Законы Рода. Том 11

Андрей Мельник
11. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 11

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Зодчий. Книга II

Погуляй Юрий Александрович
2. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга II

Хозяин Теней 5

Петров Максим Николаевич
5. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 5

Двойник Короля

Скабер Артемий
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Двойник Короля

Черный Маг Императора 14

Герда Александр
14. Черный маг императора
Фантастика:
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 14

Мы – Гордые часть 8

Машуков Тимур
8. Стальные яйца
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мы – Гордые часть 8