Глава 22 Командный интерпретатор bash

We use cookies. Read the Privacy and Cookie Policy

Глава 22

Командный интерпретатор bash

22.1. Что нужно знать о bash

bash — это наиболее часто использующаяся командная оболочка (командный интерпретатор) Linux. Основное предназначение bash — выполнение команд, введенных пользователем. Пользователь вводит команду, bash ищет программу, соответствующую команде, в каталогах, указанных в переменной окружения PATH. Если такая программа найдена, то bash запускает ее и передает ей введенные пользователем параметры. В противном случае выводится сообщение о невозможности выполнения команды.

Кроме bash существуют и другие оболочки: sh, csh, ksh, zsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells. Список оболочек может быть довольно длинным. В листинге 22.1 представлен файл /etc/shells дистрибутива Ubuntu 10.04 (установка по умолчанию).

Листинг 22.1. Файл /etc/shells дистрибутива Ubuntu 10.04

# /etc/shells: valid login shells

/bin/csh

/bin/sh

/usr/bin/es

/usr/bin/ksh

/bin/ksh

/usr/bin/rc

/usr/bin/tcsh

/bin/tcsh

/usr/bin/esh

/bin/dash

/bin/bash

/bin/rbash

/usr/bin/screen

С точки зрения пользователя, указанные оболочки мало чем отличаются. И все они позволяют выполнять введенные пользователем команды. Но оболочки используются не только для выполнения команд, а еще и для автоматизации задач с помощью сценариев. Так вот, все эти оболочки отличаются синтаксисом языка описания сценариев. В этой главе мы поговорим о создании bash-сценариев, поскольку оболочка bash самая популярная.

При запуске оболочка bash выполняет сценарий. bashrc, находящийся в домашнем каталоге пользователя. В этом файле можно указать команды, которые нужно выполнить сразу после входа пользователя в систему. Данный файл не обязателен и может отсутствовать.

В файле. bash_history (тоже находится в домашнем каталоге) хранится история команд, введенных пользователем. Так что вы можете просмотреть свои же команды, которые вы накануне вводили.

Данный текст является ознакомительным фрагментом.