Рейтинг
+2.34
голосов:
2
avatar

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

Ещё скрипты

Пример: очень простой скрипт резервного копирования (более эффективный)

#!/bin/bash
    	SRCD="/home/"                #SRCD - SouRCe Directory - исходный каталог
    	TGTD="/var/backups/"         #TGTD - TarGeT Directory - конечный каталог
    	OF=home-$(date +%Y%m%d).tgz  #OF - Output File - выходной файл
    	tar -cZf $TGTD$OF $SRCD




( Читать дальше )
  • bash,
  • программирование

Таблицы

Операторы сравнения строк

(1) s1 = s2

(2) s1 != s2

(3) s1 < s2

(4) s1 > s2

(5) -n s1

(6) -z s1



(1) s1 совпадает с s2

(2) s1 не совпадает с s2

(3) s1 в алфавитном порядке предшествует s2 (в соответствии с текущей локалью)

(4) s1 в алфавитном порядке следует после s2 (в соответствии с текущей локалью)

(5) s1 имеет ненулевое значение (содержит один символ или более)

(6) s1 имеет нулевое значение 




( Читать дальше )
  • bash,
  • программирование
  • 0
  • 11 августа 2009, 07:48
  • admin
  • 2+2

Разное

Чтение пользовательского ввода с помощью read

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

#!/bin/bash
    	echo Введите, пожалуйста, Ваше имя
    	read NAME
    	echo "Привет, $NAME!"


В качестве варианта Вы можете получать сразу несколько значений с помощью read. Следующий пример поясняет это:

#!/bin/bash
    	echo "Введите, пожалуйста, Ваше имя и фамилию"
    	read FN LN   #FN - First Name - имя; LN - Last Name - фамилия
    	echo "Hi! $LN, $FN !"



( Читать дальше )
  • bash,
  • программирование

Интерфейсы пользователя

Использование select для создания простых меню

#!/bin/bash
    	OPTIONS="Hello Quit"
    	select opt in $OPTIONS; do
    	if [ "$opt" = "Quit" ]; then
    	echo done
    	exit
    	elif [ "$opt" = "Hello" ]; then
    	echo Hello World
    	else
    	clear
    	echo bad option
    	fi
    	done


Если Вы запустите этот скрипт, то увидите, что он является мечтой программиста о меню на текстовой основе. Вероятно, Вы заметите, что это очень похоже на конструкцию 'for', только вместо циклической обработки каждого «слова» в $OPTIONS программа опрашивает пользователя.

( Читать дальше )
  • bash,
  • программирование

Функции

Аналогично любому другому языку программирования, Вы можете использовать функции для группировки кусков кода более логичным способом, а также для практического применения волшебного искусства рекурсии.

Объявление функции — это только лишь запись function my_func { my_code }.

Вызов функции осуществляется аналогичным образом, что и вызов других программ. Вы просто пишете её имя.

( Читать дальше )
  • bash,
  • программирование

Циклы for, while и until

В этом разделе Вы познакомитесь с циклами for, while и until.

Цикл for немного отличается от аналогов в других языках программирования. Прежде всего, он предоставляет Вам возможность выполнять последовательные действия над «словами» в строке.

Цикл while выполняет кусок кода, если тестируемым выражением является истина; и останавливается при условии, если им является ложь (или внутри исполняемого кода встречается явно заданное прерывание цикла).

Цикл until практически идентичен циклу while. Отличие заключается только в том, что код выполняется при условии, если проверяемым выражением является ложь.

Если Вы предполагаете, что while и until очень похожи, Вы правы.

( Читать дальше )
  • bash,
  • программирование

Условные операторы

Условные операторы предоставляют Вам возможность решить, выполнять действие или нет; решение принимается при вычислении значения выражения.

( Читать дальше )
  • bash,
  • программирование

Переменные

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

Вам не следует объявлять переменную. В действительности, присвоение значения на её указатель уже создаёт её.

( Читать дальше )
  • bash,
  • программирование

Конвейеры

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

( Читать дальше )
  • bash,
  • программирование

Всё о перенаправлении

Теория и быстрый просмотр

Существуют 3 файловых дескриптора: stdin — cтандартный ввод, stdout — стандартный вывод и stderr — стандартный поток ошибок.

Ваши основные возможности:

1. перенаправлять stdout в файл
2. перенаправлять stderr в файл
3. перенаправлять stdout в stderr
4. перенаправлять stderr в stdout
5. перенаправлять stderr и stdout в файл
6. перенаправлять stderr и stdout в stdout
7. перенаправлять stderr и stdout в stderr

1 означает stdout, а 2 — stderr.

( Читать дальше )
  • bash,
  • программирование