Студопедия — Написание bash-скриптов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Написание bash-скриптов






Shell - это командная оболочка. Но это не просто промежуточное звено между пользователем и операционой системой, это еще и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Фактически, из скриптов доступен полный набор команд, утилит и программ UNIX. Если этого недостаточно, то есть внутренние команды shell - условные операторы, операторы циклов и пр.

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

user@localhost:~$ which bash /bin/bash

Каждый файл сценария начинается с последовательности #!, это указывает системе, какой интерпретатор следует использовать для исполнения сценария. Это двухбайтовая последовательность, или - специальный маркер, определяющий тип сценария. Более точно, он определяет интерпретатор, который вызывается для исполнения сценария, это может быть командная оболочка (shell), иной интерпретатор или утилита.

#!/bin/sh

#!/bin/bash

#!/usr/bin/perl

#!/usr/bin/tcl

#!/bin/sed -f

#!/usr/awk -f

После указания пути к интерпретатору записывается последовательность команд.

Для примера создадим скрипт с именем example.sh следующего содержания (после символа # пишутся комментарии)

#!/bin/bash # объявляем переменную STRING STRING="Program work!" # вывод на экран echo $STRING

При объявлении переменной знак $ перед ее обозначением не ставится.

Скрипт готов, теперь необходимо его запустить. Переходим в директорию, в которой был создан наш example.sh и сделаем файл исполняемым (иначе скрипт не сможет запуститься!):

$ chmod +x example.sh

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

Для понимания сути задания прав в Unix-like системах, нужно знать представление чисел в восьмеричной и двоичной системах счисления

пользователь группа остальные
     
     
rwx r-x r-x
u g o

Пример символьной записи: 'rwxr-xr-x'.

Примером числовой записи может служить '755', которая эквивалентна записанной выше строковой записи: каждое право имеет числовой код и может быть задано вручную:

§ 400 — владелец имеет право на чтение;

§ 200 — владелец имеет право на запись;

§ 100 — владелец имеет право на выполнение;

§ 40 — группа имеет право на чтение;

§ 20 — группа имеет право на запись;

§ 10 — группа имеет право на выполнение;

§ 4 — остальные имеют право на чтение;

§ 2 — остальные имеют право на запись;

§ 1 — остальные имеют право на выполнение.

Суммировав эти коды можно получить символьную запись. Например, chmod 444 {имя файла}: 400+40+4=444 — все имеют право только на чтение.

Помимо стандартных 'rwx' значений команда CHMOD осуществляет ещё управление битами SGID, SUID и T. Установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно.

Для SUID — вес 4000, а для SGID — 2000.

Пример chmod 4555 {имя файла} — все имеют право на чтение и выполнение, но запускаться файл на исполнение будет с правами владельца. Для директории: установка SGID приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. SUID для директории не имеет смысла.

t-бит используется с директориями. Когда t-бит для директории не установлен, файл в данной директории может удалить любой пользователь, имеющий доступ на запись к данному файлу. Устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла. Следуя приведённой выше кодировке, t-бит имеет вес 1000.

Команда > перезаписывает файл, команда >> добавляет информацию в конец файла.

Сохраним значение переменной в файл. Для этого создадим файл

>data.txt

Запишем в него

echo $STRING >> data.txt

В данном случае в конец файла добавляем содержимое переменной $STRING.

Отобразить содержимое файла можно следующим образом

cat data.txt

 







Дата добавления: 2015-08-11; просмотров: 317. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

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

Лечебно-охранительный режим, его элементы и значение.   Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия