Консультация № 186091
18.05.2012, 16:30
97.34 руб.
0 2 1
Здравствуйте! У меня возникли сложности, прошу Вас помочь с таким вопросом( если можно, то с комментариями ) :
Задание :

Написать shell-процедуру, которая выполняет действия:
вводит символьную строку;
проверяет введенную строку на несовпадение со строкой, переданной в качестве 1-го параметра;
если строки не совпадают, то выдает на экран приглашение <повторить ввод>;
если совпадают, то сравнивает длину введенной строки с длиной 2-го параметра,
и, в случае их равенства, выводит на экран введенную строку.

Заранее спасибо!

Обсуждение

Неизвестный
18.05.2012, 17:10
общий
это ответ
Здравствуйте, Никулин Михаил!
Код:
#!/bin/bash

# Информация об использовании
usage()
{
echo "Usage: $( basename "$0" ) <string 1> <string 2>"
exit 1
}

# Должно быть 2 параметра
if [[ $# -ne 2 ]] ; then
usage
fi

# Запрос на ввод строки
while true ; do
read -p "Введите строку: " str
[[ "$str". == "$1". ]] && break
done

# Сравнение длин
if [[ ${#str} -eq ${#2} ]] ; then
echo "$str"
fi

Пример работы:
Код:
@linux:~/Projects/186091> ./186091 file lines                                                   
Введите строку: life
Введите строку: file
@linux:~/Projects/186091> ./186091 file line
Введите строку: file
file

5
спасибо!
Неизвестный
19.05.2012, 01:25
общий
спасибо Вам !
Форма ответа