Оболочка - это просто программа, интерпретирующая пользовательские команды. Команды либо вводятся пользователем напрямую, либо считываются из файла. Эти типы файлов (- файлы, содержащие команды оболочки) обычно называются «сценариями оболочки». Типичная оболочка окружает хрупкую внутреннюю часть операционной системы, защищая ее от случайных повреждений. Отсюда и название «Shell».

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

Экземпляр оболочки называется неинтерактивной оболочкой, когда он читает команды из файла и выполняет его. В этом случае оболочка читает каждую строку файла сценария сверху вниз и выполняет каждую команду, как если бы она была введена пользователем непосредственно.

Встроенные переменные оболочки

ПОДОЖДИТЕ !, подождите немного !, прежде чем изучать «Встроенные переменные оболочки», следует обсудить основы любых переменных оболочки. По соглашению имена переменных оболочки Unix указываются в верхнем регистре. Итак, переменные определяются и инициализируются как VARIABLE_NAME = value.

# example
NAME = "Ashan"

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

# example
echo $NAME

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

$SHELL  #Gives the path and name of the current running shell    program
 
$HISTSIZE  #Gives the size of the number of Commands that can be stored in history file 
$HISTFILE  #Gives the location of history file 
$USER  #Gives current logged in username 
$EUID  #Gives User ID 
$GROUPS  #Gives Group ID info 
$PATH  #Gives path to all the binaries 
$RANDOM  #Gives a random number. This is useful in giving random passwords for new users
 
$-  #Gives current shell's flags which have been set. These flags determine how your shell will function for you

Текущие программы оболочки

В Unix есть множество программ Shell. Наиболее популярные и популярные из них перечислены ниже.

  • Оболочка Борна (ш)
  • Снова борн оболочка (bash)
  • Оболочка C (csh)
  • Оболочка Tenex C (tcsh)

Используйте команды unix which или whereis, чтобы узнать, где находится конкретная оболочка. Пример показан ниже.

Оказавшись в окне терминала, вы можете переключаться между программами оболочки, просто вводя имя программы оболочки. Например, если у вас установлена ​​оболочка C, вы можете переключиться на нее, набрав csh.

Запуск сценариев оболочки

Чтобы запустить любой сценарий оболочки (т.е. когда оболочка считывает команды из файла и выполняет их), он должен иметь возможность выполняться. Для этого мы можем использовать команду «chmod + x», чтобы дать разрешения на выполнение.

chmod +x /path/to/yourscript.sh

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

А затем для запуска сценария просто используйте следующую команду:

/path/to/yourscript.sh

И если вы находитесь в том же каталоге, где находится файл сценария, и как точка «. относится к текущему каталогу, вы можете просто использовать следующую команду.

./yourscript.sh

А также есть еще один значимый способ выполнения ваших файлов сценариев. То есть с указанием имени вашей программы оболочки. Для этого вам необходимо находиться в том же каталоге, что и файл сценария. Синтаксис следующий:

$ bash first

$ /bin/sh first

Здесь слово «first» - это имя вашего файла сценария. И в верхней команде начальное слово - это имя программы оболочки. Или, как во второй команде, вы можете указать путь к программам оболочки в качестве первого слова.