Передача переменных из командной строки

Автор: Admin

Дата:2013-01-11

Ранее:
1) Изучаем BASH (Основы)

2) Изучаем BASH (Инструкции)

3) Проверка условий в Bash

4) Циклы в 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

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

Комментарии к статье:

Добавить комментарий

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2024