Дата:2013-01-11
Ранее:
1) Изучаем BASH (Основы)
Давайте
немного рассмотрим передачу переменных из командной строки на
обработку.
Суть заключается в том, что бы пользователь сам вводил нужные ему
данные, а те передавались скрипту в качестве переменной.
#!/bin/bash
for prm in $1
do
if [ -d "$prm" ]
then
echo "$prm Это каталог"
elif [ -f "$prm" ]
then
echo "$prm это файл"
else
echo "$prm файл не существует"
fi
done
sh prm.sh "/home/aroma/.*"
Существуют специальные переменные (позиционные)
1)$0 - имя программы
#!/bin/bash
for prm in $0
do
echo $prm
done
$ sh prm.sh
prm.sh
2)От $1 До $9
$1 - первый параметр, $2 - второй и так далее.
#!/bin/bash
for prm in $1 $2
do
echo $prm
done
$ sh prm2.sh roma vasya
3) {10} {11} {и т.д.} -параметры
после $9 задаются в фигурные скобки
#!/bin/bash
for prm in ${10} ${11}
do
echo $prm
done
$ sh prm3.sh 1 2 3 4 5 6 7 8 9 roma vasya
4) $@ - все данные
#!/bin/bash
for prm in $@
do
ping -c 3 $prm
done
$ sh prm2.sh 192.168.200.3 192.168.200.208
5) $* все данные в одной строке
#!/bin/bash
for prm in "$*"
do
echo $prm
done
$ sh prm2.sh Vasya pupkin
6) $# - подсчет параметров
#!/bin/bash
for prm in $#
do
echo $prm
done
$ sh prm2.sh pasha roma nina sveta maks
Read - позволяет получать данные непосредственно из файла стандартного ввода и помещает их в переменную. Она позволяет забирать от пользователя данные помещая их в переменную и производить в дальнейшем с ними действия указанные в сценарии.
Простой пример умножения.
#!/bin/bash
echo "Введите числа после чего произойдет умножение"
if
read -t 3 -p "Введите первое число число: " var
read -t 3 -p "Введите второе число: " var1
then
var2=$[ $var * $var1 ]
echo $var2
else
echo "Извините вы долго вводили данные"
fi
Здесь добавлен параметр -t определяющий время выполнения команды read
Функции в Bash
Количество просмотров: 4964
Комментарии к статье:
Добавить комментарий