Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Лёгкий переход на бесплатные UNIX


Информационный Канал Subscribe.Ru

ProUNIX.h12.Ru

"Портал документации UNIX-систем"
Информационный портал по установке, настройке и использованию UNIX
Множество статей, электронных книг и online помощь MAN.

От редактора

Здравствуй, уважаемый подписчик!

Это 11-ый выпуск рассылки Лёгкий переход на бесплатные UNIX . Я надеюсь, эта рассылка поможет Вам в освоении и первом знакомстве с ОСями семейства UNIX.

В этом выпуске рассылке будет, как и было объявлено, рассказано об эффективной работе в консоле. Именно консоль, так пугает пользователей Windows, заглянувших в мир unix, а ведь именно работа в консоле - то, без чего совершенно невозможно обойтись.

Программирование в Shell

Работа в юникс многим отличается от работы в windows. В настоящее время некоторые дистрибутивы Линукс настолько "переориентировались" на домашнего пользователя, что отыскать консоль стало непростой задачей. Но это только на первый взгляд! Стоит только выйти из иксов и заглянуть в файлик /etc/shells, и всё встаёт на свои места. В этом файле описаны командные интерпретаторы, которые доступны в данной системе. Совершенно точно есть /bin/sh (старый-добрый Bourne Shell), /bin/bash (Bourne-Again Shell - используется умолчально во многих линуксах) и /bin/csh (C Shell - интерпритатор с C-подобным синтаксисом).
Теперь рассмотрим написание скриптов для оболочки Shell. Начнём с того, что скрипты нужны для решения сложной задачи, путём составления опследовательности простых команд. Так вся идеология Unix держится на том, что всё сложное состоит из простого, именно поэтому стандартные утилиты unix и интерпретатор - секрет успеха unix. Что-же собственно такое скрипт, и чем скрипт отличается от приложения? Скрипт - это набор команд, хранящихся в текстовом файле. И в этом главное отличие скрипта от приложения. И хотя скрипт выполняется гораздо медленнее приложения и не может работать без интерпретатора, у него есть несколько существенных достоинств. К примеру, переносимость и лёгкость редактирования.
Ну а теперь собственно о собственно о написании скриптов для bash. Собственно, тут всё идентично написаню команд в консоли. Создаём новый файл и называем его Hello. Пишем в него следующее:
#!/bin/sh 
#Обязательная первая строка, которая указывает на интерпритатор

$text=Hello!!! #присваиваем значение переменной text
echo $text #выводим значение переменной text на экран.
Сохраняем файл. И запускаем его командой:
 ./Hello
В результате на экране должно появиться : Hello!!!
Ну а теперь немного полезных знаний. Переменной можно присвоить имя каталога:
$a= /home/test # напрямую
$b='pwd' # или как результат команды
Существуют уже определённые переменные:
  • HOME - каталог пользователя
  • PATH - поисковый путь
  • MAIL - имя почтового ящика
  • TERM - имя терминала
Некоторые перемменые, используемые sh:
$$ - pid текущего shell'а;
$! - pid последнего процесса в фоновом режиме;
$? - код возврата последнего процесса;
$x - где x-числа: параметры, переданные скрипту ($0 - последний запущенный скрипт).
#!/bin/sh
#script 2
echo "script filename: $0"
#выведет название файла данного скрипта
echo "value1: $1"
#выведет первый параметр, заданный скрипту
echo "value2: $2"
#выведет второй параметр, заданный скрипту
Раз уж речь зашла о параметрах, то передаются они так:
/././script_name value1 value2 value3

Так как Shell - полноценный язык программирования, то возможно создание условий:
if [ условие ]
then действия при выполнении условия
else действия при не выполнении условия
fi
Пример использования:
#!/bin/sh
if [ $1 == $2 ]
then echo "$1 равно $2"
else echo "$1 не равно $2"
fi
Цикл в sh можно создать так:
while команда1
do
действие1
done
Действие1 будет исполняться до конца выполнения команды1.
Для считывания информации в sh используется команда 'read'. Вот пример использования циклов со считыванием информации:
#!/bin/sh
cat ./example.txt | grep heil |
while read text
do
if [ $text == "heil" ]
then echo "heil был найден в файле example.txt"
else echo "heil не был найден в файле example.txt"
fi
done
Этот скрипт надо из того же каталога, где находится текстовый файл example.txt.
Файл example.txt выглядит примерно так:
hAil
heil
hEIl
HEIL
Помните что у для этого файла нужно установить права доступа, разрешающие чтение.
На этом на сегодня остановимся и продолжим в следующем выпуске.
Полезные ссылки:
Bash конспект - Подробное и понятное описание командной оболочки bash
ПРОГРАММИРОВАНИЕ В ЯЗЫКЕ SHELL - Глава из книги Дегтярева Е.К "ВВЕДЕНИЕ В UNIX"
Раздел "программирование" ProUnix сайта - Здесь среди прочих можно найти архивы книг по программированию в командных оболочках.

Обзор дистрибутивов
Вступительное слово:
Начиная с этого выпуска рассылки, введена рубрика "обзор дистрибутивов". В ней будут рассматриваться дистрибутивы открытых unix-систем, которые можно приобрести в ЛинуксЦентре. В комментарии к каждому дистрибутиву будет указываться область применения (я верю, что плохих дистрибутивов не бывает, бывает неправильное их использование) и категория пользователей, которыми данный продукт может использоваться максимально эффективно.

ASPLinux 10
Очень добротный дистрибутив, который может использоваться как новичками, так и опытными пользователями, желающими сосредоточиться на работе а не сборке ОС. Лично меня дистрибутивы Linux от ASP радовали всегда тремя вещами: отличной многоязычной программой установки (с широчайшим количеством режимов, удобнейшим, и гавное, надежной системой управления дисками), прекрасной руссификацией и отличной документированностью. Данная система прекрасно подойдёт для знакомства с unix, именно благодаря качеству исполнения и обширному набору прикладного ПО. Опытный пользователь в кратчайшие сроки настроит систему и будет получать удовольствие от работы. Как и любой пакетный дистрибутив общего назначения ASPLinux 10 наиболее гармонично смотрится на домашнем или офисном компьютере.

BLin v1.6
Данный дистрибутив представляет собой Live систему, способную загружаться и функционировать с CD-ROM. Достаточно вставить диск в привод и загрузиться с него, и через пару минут можно будет иметь боеспособную Gnome-станцию. Набор ПО достаточно широк: есть офисные приложения (OpenOffice.org), браузеры (Mozilla в их числе), клиенты электронной почты и даже игры (в том числе Digger). Список поддерживаемого оборудования достаточно широк (проблемы всё с теми же интегрированными девайсами). Винчестер естественно не нужен, хотя при наличии будет обнаружен (будут также распознаны файловые системы и, по возможности, подмонтирова ). Сфер применения мне видится две: первоначальное знакомство (но не более чем первый взгляд) или работа на чужом компе и спасательно-восстановительные работы.
P.S.
Присылайте свои вопросы и пожелания по адресу prolinux@nm.ru или darwinos@nm.ru. Ждем!
Успехов Вам!

Copyright © ProUNIX.h12.Ru


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.othos.unix
Отписаться

В избранное