Вторая команда (конвейер) в этом примере формирует и посылает письмо с отчетом о неуспехе пользователю den.
Чтобы перенаправить в файл вывод всех команд из списка, нужно взять весь список в круглые скобки:
$ ( date; free; who; ) > logfile
Список, взятый в круглые скобки, выполняется в дочерней оболочке, имеющей собственные локальные переменные и текущий каталог:
$ pwd; ( cd / tmp ; pwd ) ; pwd;
/home/den
/tmp
/home/den
$
Если нужно часто выполнять одну и ту же последовательность команд, можно оформить ее как функцию:
$ function morning_report {
> date;
> free;
> W;
> }
$ morning_report | mail root
Имена и область видимости функций подчиняются тем же правилам, что и для переменных. Нельзя определять функцию и переменную с одинаковыми именами.
Определенные вами переменные и функции действительны только для текущего сеанса работы в оболочке bash. Чтобы воспользоваться ими в следующем сеансе, запишите их в текстовый файл, а когда они понадобятся, загрузите этот файл в память командного интерпретатора встроенной командой source
:
$ cat > foo
myvar="Моя переменная"
function myfun {
echo $myvar
}
^D
$ source foo
$ myfun
Моя переменная
$
Команда source
выполняет инструкции, содержащиеся в файле, в текущей оболочке в отличие от исполнения файла, содержащего сценарий: тот выполняется в дочерней оболочке, и определенные в ней переменные и функции для родительской оболочки невидимы. Чтобы заметить разницу, удалите переменную myvar
и функцию myfun
из памяти оболочки командой unset
, сделайте файл foo
исполняемым командой chmod (п.3.4.3) и исполните его. Убедитесь, что после его выполнения переменная myvar
и функция myfun
остались не определены.
3.4.8. Инициализационные файлы bash
Начальные значения переменных окружения становятся известны командному интерпретатору bash из инициализационных файлов, которые он прочитывает сразу после своего запуска. Эти файлы называются .bash_profile
и .bashrc
(в порядке чтения оболочкой) и берутся из домашнего каталога запустившего оболочку пользователя.
Команды, присутствующие в этих файлах по умолчанию, только прочитывают общесистемный файл настроек /etc/bashrc
. Вы можете добавить к ним свои личные настройки, определив нужные вам переменные, функции и псевдонимы.
При завершении сеанса работы с оболочкой выполняются команды в файле ~/.bash_logout
. Туда вы тоже можете добавить свои команды: например, зафиксировать время окончания своего сеанса в файле или в письме другому пользователю.
Команду установки переменной CDPATH, рассмотренной в п.3.4.3, имеет смысл добавить в .bash_profile
, чтобы не пришлось вводить ее вручную в начале каждого сеанса работы в bash.
Глава 4
Рабочее место пользователя
Если вы собираетесь только изучать, настраивать и администрировать свою ОС Linux, то вашим рабочим местом станет консоль, а средой обитания — командная строка. Для нормальных же людей компьютер — не хобби, а инструмент для решения определенного круга задач. Задачи эти решаются не средствами операционной системы, а прикладными программами, и большинство людей привыкло решать их с помощью приложений, работающих в графическом режиме под управлением ОС семейства Windows. Среди таких приложений:
♦ офисный набор: текстовый процессор, редактор электронных таблиц, система управления базами данных;
♦ средства просмотра и редактирования графической информации;
♦ средства общения с коллегами (электронная почта, интернет-пейджер);
♦ средства получения информации из Интернета: веб-браузер, ftp-клиент;
♦ программы для воспроизведения аудио- и видеозаписей;
♦ узкопрофессиональные программные пакеты: математические, инженерные, бухгалтерские, разработчика программного обеспечения и т.п.
Для подавляющего большинства таких Windows-приложений существуют достойные (и, что немаловажно, бесплатные) Linux-аналоги, совокупность которых и создает удобную среду рабочего места.
4.1. Графическая система X Window
Работа в графическом режиме под Linux возможна благодаря системе, именуемой X Window (или просто Иксы; только не называйте ее X Windows), разработанной в Массачусетсом технологическом институте (MIT) и ставшей стандартом для всех UNIX-подобных систем. Сами по себе Иксы — это не графический интерфейс как таковой, а лишь набор спецификаций, которым этот самый графический интерфейс должен соответствовать. В настоящее время действует версия 11 выпуск 6 стандарта на графическую подсистему для UNIX-систем, которая кратко обозначается как X11R6.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии