Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
if [условие] then команды fi | if [условие] then команды1 else команды2 fi |
Условные операторы применяются для проверки результатов поиска файлов
if [grep “abc” file1.dat]
then echo “ файлы, содержащие символы abc, найдены”
else echo “ файлы, содержащие символы abc, не найдены”
fi
Пример. Проверка пустой каталог или нет
#! / bin / sh
if [ “ ` ls –a D1 ` ” = ” ”] then
echo “ каталог пустой ”
else echo “ каталог не пустой”
fi
Ввод данных осуществляется оператором read список ввода
read a1 a2 a3
Существует возможность передачи параметров в командной строке при вызове сценария
# имя_сценнария параметр1 параметр2 …
# ch1 D1 D2
В сценарии переменная $1 примет значение D1, а переменная $2 – значение D2
D1 и D2 могут означать имена каталогов
Пример. Создать каталог, имя которого передается, как параметр командной строки
#! /bin /sh файл ch1
$D1=$1
mkdir $D1
echo “ создан каталог ”, $D1
вызов сценария #./ ch1 rt1 - будет создан каталог rt1
Циклы
Общий формат цикла for
For имя_переменной in list
Do
Команда1
Команда2
……..
Done
Цикл for однократно выполняет команды, записанные в теле цикла для каждого значения, указанного в списке list. Список list может содержать числа, строки, имена файлов. Командой может быть команда интерпретатора или оператор shell.
Пример
#!/ bin/sh на экран будут выведены имена файлов
for ps in `ls` текущего каталога
do
echo $ps
done
Пример. Создание резервных копий файлов текущего каталога. Резервная копия будет получена копированием файла в файл к имени, которого приписано расширение bak.
#!/ bin/sh
$bk = ”.bak”
for ps in `ls -a`
do
cp $ps $ps$bk
done
если в каталоге есть файлы: a1, a1.txt, b11, b11.doc, то будут созданы файлы
a1.bak, a1.txt.bak, b11.bak, b11.doc.bak
Дата публикования: 2014-12-08; Прочитано: 290 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!