Инструменты пользователя

Инструменты сайта


язык_командного_интерпретатора_bash

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
язык_командного_интерпретатора_bash [2013/05/27 15:03]
46.231.215.230 создано
язык_командного_интерпретатора_bash [2016/02/10 20:24] (текущий)
Строка 10: Строка 10:
 переменные не типизированы  переменные не типизированы 
 область видимости - весь код программы  область видимости - весь код программы 
-при обращениие е еопределенной переменной ошибка не выдается +при обращениие С определенной переменной ошибка не выдается 
  
 пример задания:  пример задания: 
-PETM = 10 \\+PERM=10 \\
 echo $PERM\\ echo $PERM\\
  
Строка 24: Строка 24:
 echo "PERM"''\\ echo "PERM"''\\
  
 +====== Массивы переменных ======
  
  
 +MASS[0]=10\\
 +MASS[1]=11\\
 +MASS[2]=12\\ 
  
 +====== обращение к массиву ======
  
 +echo ${MASS[0]}
  
 +''#!/bin/bash\\
  
 +MASS[0]=10\\
 +MASS[1]=11\\
  
 +echo ${MASS[0]}\\
  
 +echo "MASS[0]=${MASS[0]}"\\
 +
 +
 +MASS2=(10 11 12 13 14)\\
 +
 +echo ${MASS2[2]}\\
 +
 +''
 +
 +
 + ====== Переменные окружения ======
 +экспорт пере менных 
 +''#!/bin/bash\\
 +STRING="Hello World"\\
 +echo $STRING\\
 +''
 +просмотр переменных окружения
 +
 +
 +''#! /bin/bash\\
 +clear\\
 +echo "Текущая директория = $PWD"\\
 +echo "Это UID = $UID"\\
 +echo "Текущий уровень исполнения = $SHLVL"\\
 +echo "Случайное число = $RANDOM"\\
 +echo "Текущая дата = `date`"\\
 +echo "Домашний каталог = $HOME"\\
 +echo "Регистрационное имя пользователя = $LOGNAME"\\
 +echo "Периодичность проверки почтового ящика = $MAILCHECK"\\
 +echo "Пути для поиска программ = $PATH"\\
 +echo "Внешний вид приглашения командной строки = $PS1"\\
 +echo "Внешний вид доп/ приглашения командной строки = $PS2"\\
 +echo "Текущий интерпретатор = $SHELL"\\
 +echo "Тип терминала = $TERM"''
 +
 +
 +====== Чтение переменных ======
 +
 +read[переменная]
 +
 +#!/bin/bash\\
 +read  var1\\
 +echo "Вы ввели $var1"\\
 +
 +
 +====== Подстановочные переменные ======
 +
 +''#!/bin/bash\\
 +# Примеры подстановки\\
 +clear\\
 +echo "*****************************************************************"\\
 +DATE=`date`\\
 +echo "Текущая дата = $DATE"\\
 +echo "*****************************************************************"\\
 +USERS=`who | wc -l`\\
 +echo "Пользователей в системе = $USERS"\\
 +echo "*****************************************************************"\\
 +UP=$(date; uptime)\\
 +echo "Текущие дата и uptime = $UP"\\
 +echo "*****************************************************************"\\
 +''
 +
 +
 +====== Арифметические выражения ======
 +
 +    #!/bin/bash
 +
 +    # Подстановка арифметических выражений
 +
 +     PERM=2
 +
 +     echo "2*2=$(( 2*$PERM ))"
 +
 +     echo "((2*3+5)-4)/2=$(( ((2*3+5)-4)/2 ))"
 +
 +
 +====== Условный оператор if ======
 +
 +
 +''#!/bin/bash\\
 +
 +# Пример if then else\\
 +
 +if rm test 2> /dev/null\\
 +
 +then\\
 +
 +echo "Deleted"\\
 +
 +else\\
 +
 +echo "Not deleted"\\
 +
 +fi\\
 +
 +''
 +
 +
 +====== Проверка условий test ======
 +
 +выкажение test обычно используют в квадратных скобках 
 +
 +проверка существования файла:
 +
 +''
 +#!/bin/bash \\
 +if [ -f test.sh ]; then\\
 +  echo "File exist"\\
 +else\\
 + echo "File not found"\\
 +fi\\
 +''
 +
 +''#!/bin/bash 
 +
 +read A\\
 +read B\\
 +
 +if [ $A -ge $B ] \\
 +then \\
 +echo 'A > B'\\
 +else \\
 +echo 'A < B'\\
 +
 +fi \\
 +
 +''
 +
 +для проверки на наличие файла, папки, ссылки и т.д. используются ключи: 
 +
 +-d Папка\\
 +-e Существует (также -a)\\
 +-f Стандартный файл\\
 +-h Символьная ссылка (также -L)\\
 +-p Именованный канал\\
 +-r Доступный вам для чтенения\\
 +-s Не пустой\\
 +-S Сокет\\
 +-w Доступный вам для записи\\
 +-N Был изменен со времени последнего прочтения\\
 +
 +Сравнение чисел и строк:
 +
 +Сравнение чисел происходит при помощи следующих операторов:
 +
 +число1 -eq число2 — истина, если числа равны.\\
 +число1 -ne число2 — истина, если числа не равны.\\
 +число1 -gt число2 — истина, если первое число больше второго.\\
 +число1 -ge число2 — истина, если первое число больше или равно второму.\\
 +число1 -lt число2 — истина, если первое число меньше второго.\\
 +число1 -le число2 — истина, если первое число меньше или равно второму.\\
 +
 + Сравнение строк:
 +
 +-n строка — истина, если строка имеет не нулевую длину.\\
 +-z строка — истина, если строка имеет нулевую длину\\
 +строка1 = строка2 — истина, если строка1 идентична строке2.\\
 +
 +Так же в условных операторах можно использовать логическое 'И' &&, логическое 'ИЛИ' || 
 +
 +
 +====== Оператор выбора case ======
 +
 +для 
 +
 +''
 +#!/bin/bash\\
 +
 +echo; echo "Нажмите клавишу и затем клавишу Return." \\
 +read Keypress\\
 +
 +case "$Keypress" in\\
 +  [a-z]   ) echo "буква в нижнем регистре";;\\
 +  [A-Z]   ) echo "Буква в верхнем регистре";;\\
 +  [0-9]   ) echo "Цифра";;\\
 +  *       ) echo "Знак пунктуации, пробел или что-то другое";;\\
 +esac  # Допускается указывать диапазоны символов в [квадратных скобках]\\
 +''
 +
 +
 +
 +#!/bin/bash
 +''
 +echo -e 'Для запуска Веб сервера нажмите s \n Для перезапуска нажмите r \n Для остановки нажмите d'\\
 +
 +read Keypress\\
 +
 +case "$Keypress" in\\
 +  [s]   ) /etc/init.d/httpd start;;\\
 +  [r]   ) /etc/init.d/httpd restart ;;\\
 +  [d]   ) /etc/init.d/httpd stop;;\\
 +esac
 +''
 +
 +
 +''
 +#!/bin/bash\\
 +
 +echo -e "Введите нужную букву \n a - для перезагрузки системы \n b -дл$\\
 +
 +read bukva\\
 +echo -e "\n"\\
 +echo "Вы ввели $bukva"\\
 +echo -e "\n"\\
 +
 +case  "$bukva" in\\ 
 +
 +        a )  reboot ;;\\
 +        b ) useradd ;;\\
 +        * ) echo "Неверное значение!!! "\\
 +esac \\
 +
 +
 +''
 +
 +
 +
 +
 +====== Цикл For ======
 +
 +простой цикл 
 +
 +''#!/bin/bash\\
 +
 +# Пример for\\
 +
 +for I in 1 2 3 4 5 6 7 8 9 10\\
 +
 +do\\
 +
 +echo " $I "\\
 +
 +touch $I.txt\\
 +
 +done\\
 +
 +exit 0\\
 +''
 +
 +цикл для с выбором данных из файла 
 +
 +
 +файл с данными  users 
 +
 +''kirill\\
 +roman\\
 +alexander\\
 +andrey\\
 +yrii\\
 +alexey\\
 +''
 +скрипт создания папок для пользователей
 +
 +''#!/bin/bash\\ 
 +
 +for I in `cat users`\\
 +do \\
 +mkdir $I\\ 
 +done \\
 +exit 0\\
 +
 +''
 +
 +
 +====== Цикл While======
 +
 +
 +   #!/bin/bash
 +   # Primer while
 +   X=1
 +   while [ $X -lt 10 ]
 +   do
 +   echo "--> $X <--"
 +   X=$(( $X+1 ))
 +   done
 +   exit 0
 +
 +====== Оператор select ======
 + 
 +
 +''
 +#!/bin/bash\\
 +
 +echo 'Выберите ваш любимый linux: '\\ 
 +
 +select linux in "Gentoo" "Debian" "Centos" "Fedora" "CentOS" \\
 +do\\
 +  echo\\
 +  echo "Вы предпочитаете $linux."\\
 +  echo ";-))"\\
 +  echo\\
 +  break  # если 'break' убрать, то получится бесконечный цикл.\\
 +done\\
 +
 +exit 0\\
 +
 +''
язык_командного_интерпретатора_bash.1369667028.txt.gz · Последнее изменение: 2013/05/27 19:03 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux