Bash.Переменные и аргументы

Bash.Переменные и аргументы

https://t.me/HotCheatSheet

Часто приходится искать, как изменить приглашение командной строки, либо пути поиска команды в оболочке. На помощь и приходят переменные, которые и будут рассмотрены в данной статье, а также аргументы и небольшой мануал по отдельным моментам работы.


Файловые дескрипторы:

0 — stdin

1 — stdout

2 — stderr


Статус выхода:

0 — удачно

!=0 — т.е. отличное от нуля, ошибка


Дополнительно:

$(команда) — выполнить команду(например, когда нужно присвоить значение команды переменной)

`команда` — выполнить команду (альтернатива)

команда & — запустить команду в фоновом режиме


Аргументы:

!! — запустить последнюю команду

!$ — выводит последний аргумент предыдущей команды

!-<Номер> — запустить команду под данным номером

!<Строка> — запустить последнюю команду с данной строкой

$$ — pid текущей оболочки

$! — pid последнего процесса в фоновом режиме

$? — код возврата последнего процесса

$<Номер> — номер параметра, переданного скрипту ($0 - последний запущенный скрипт)

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

$* — все аргументы в виде одной строки

$@ — все аргументы в видел отдельных строк

$- — список флагов, переданных сценарию

$_ — содержит последний аргумент предыдущей команды


Переменные:

$BASH — путь к исполняемому файлу bash

$BASH_VERSION — версия Bash, установленного в системе

$DIRSTACK — содержимое вершины стека каталогов

$EDITOR — заданный по умолчанию редактор

$EUID — «эффективный» идентификационный номер пользователя (Effective User ID)

$UID — содержит реальный идентификатор, который устанавливается только при логине

$FUNCNAME — имя текущей функции

$GLOBIGNORE — перечень шаблонных символов, которые будут проигнорированы при выполнении подстановки имён файлов (globbing)

$GROUPS — группы, к которым принадлежит текущий пользователь

$HOME — домашний каталог пользователя

$HOSTNAME — сетевое имя хоста

$HOSTTYPE — тип машины (идентифицирует аппаратную архитектуру)

$IFS — разделитель полей во вводимой строке

$LC_COLLATE — задаёт порядок сортировки символов, в операциях подстановки имён файлов и в поиске по шаблону

$LC_CTYPE — определяет кодировку символов

$LINENO — Номер строки исполняемого сценария

$MACHTYPE — аппаратная архитектура

$OLDPWD —прежний рабочий каталог

$OSTYPE — тип операционной системы

$PATH — путь поиска (включает в себя каталоги /usr/bin, /usr/local/bin, /usr/local/sbin и т. д.)

$PIPESTATUS — Код возврата канала (конвейера)

$PPID — (идентификатор) родительского процесса

$PS1 — приглашение командной строки

$PS2 — вторичное приглашение командной строки, выводится тогда, когда от пользователя ожидается дополнительный ввод. Обычно отображается как «>»

$PS3 — третичное приглашение, выводится, когда пользователь должен сделать выбор в операторе select

$PS4 — приглашение четвёртого уровня, выводится (в изменённом виде) в начале каждой строки отладочного вывода тогда, когда сценарий вызывается с ключом -x. Обычно отображается как «+», «++» и т. д.

$PWD — рабочий (текущий) каталог

$REPLY — переменная по умолчанию, куда записывается ввод пользователя, выполненный с помощью команды read

$SECONDS — время работы сценария (в секундах)

$SHELLOPTS — список допустимых опций интерпретатора (доступна только для чтения)

$SHLVL — уровень вложенности shell

Report Page