/index/10
Меню сайта
Опрос
Обучались ли Вы в ЦО «Махаон»
Всего ответов: 82
Календарь


1998 - 2024 © «МАХАОН»



Каталог статей

Главная » Статьи » Мои статьи

Командные файлы

Командные файлы (скрипты)

Командный файл
(скрипт) — это неформатированный текстовый файл, который содержит команды bash.
Скрипты относятся к числу исполняемых файлов, то есть когда набираете в консоли
./имя_файла, то
выполняются команды, записанные в нем. Любая команда, которой вы пользуетесь в
bash может быть записана в командный файл. Первой строчкой файла должна быть
запись вида #!/bin/bash

Этапы создания командного файла:

1.    
создаем
файл

 (touch text);

2.    
заполняем файл командами (например:

kwrite text);

3.    
делаем его исполняемым

 (chmod +x text)

4.    
выполняем файл (./text)

Упражнение 1

создайте и
выполните командный файл text1 следующего содержания:

#!/bin/bash

clear

cd ~

ls

данный командный
файл производит очистку экрана, переходит в домашний каталог и выводит его
содержимое.

echo — выводит сообщение на экран

Упражнение 2

создайте и
выполните командный файл text2 следующего содержания:

#!/bin/bash

clear

echo привет

echo содержимое
текущего каталога:

ls

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

expr вычисляет значение выражения, переданного в качестве аргумента, и
посылает результат на стандартный вывод. Используется для выполнения операций
над переменными языка Shell.

Упражнение 3

создайте и
выполните командный файл text3 следующего содержания:

#!/bin/bash

clear

count=5

tot=200

count =`expr $tot / $count`

echo $count

tot=`expr
$tot + 1`

echo
$tot

Ввод данных с
клавиатуры осуществляется с помощью команды read, которая считывает строку из
стандартного потока ввода и сохраняет ее в переменной.

Упражнение 4

создайте и
выполните командный файл text4 следующего содержания:

#!/bin/bash

clear

echo "Как вас зовут? "

read n

echo
"Здравствуйте, $n"

Ввод и вывод. Перенаправление

Каждый процесс в
Linux получает при старте три потока данных (специальные файлы). Первый открыт
на чтение и является стандартным вводом
процесса stdin (процесс из него берет данные, читает), по умолчанию это
клавиатура. Второй поток открыт на запись и называется стандартным выводом процесса stdout (процесс в него записывает
данные), по умолчанию это экран. Третий поток данных предназначен для вывода
сообщений об ошибках и называется стандартный
вывод ошибок.

Команда cat,
которая берет данные с потока ввода и передает их на поток вывода, т.е. c stdin
на stdout.

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

Оболочка Shell
дает возможность перенаправлять стандартные потоки, например, вывод делать не
на экран, а в файл, чтобы данные были записаны и сохранены. Для этого
используются символы > и < .

> - перенаправление стандартного вывода

< - перенаправление стандартного ввода

Упражнение 5

создайте и
выполните командный файл text5 следующего содержания:

#!/bin/bash

clear

cat > textfile -(даные с клавиатуры
записываются в файл)

cat >> textfile (добавляет в файл)

cat < textfile > textfile (читает
данные из файла textfile и записывает их в файл textfile2)

Команда sort
данные, полученные с входного потока сортирует и направляет на поток вывода.

Оператор выбора case имеет структуру:

case строка-образец in

строка-шаблон) список команд;;

строка-шаблон) список команд;;

...esac

Упражнение 6

создайте и
выполните командный файл text4 следующего содержания:

echo
"Введите имя файла: "

read
x

echo
" Выберите какую операцию выполнить с файлом:

1
- отсортировать

2
- выдать на экран

3
- определить число строк "

read y

case $y in

1) sort < $x ;;

2) cat < $x ;;

3) wc -l < $x ;;

*) echo " Ошибка. Нет
такой команды" ;; esac;



Разработка Павловой Натальи Сергеевны, 2009 г.
Категория: Мои статьи | Добавил: Ex3pErT (17.06.2010)
Просмотров: 562
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]