Итог - Угадай число
Часть раздела Основы путешествия по Terminal на Coddy. Урок 73 из 82.
Задание
ЛегкоСоздай shell-скрипт с именем guesser.sh, который имитирует игру в угадывание числа с фиксированной последовательностью попыток.
Твой скрипт должен:
- Начинаться со строки shebang (
#!/bin/bash) - Задать переменную с именем
secretсо значением5 - Задать переменную с именем
guessс начальным значением0 - Использовать цикл while, который продолжается, пока
guessне равноsecret - Внутри цикла увеличивать значение
guessна 1 - Использовать инструкцию if для проверки попытки:
- Если
guessменьшеsecret, вывести:Guess [guess]: Too low! - Если
guessравноsecret, вывести:Guess [guess]: Correct!
- Если
Сделай скрипт исполняемым и запусти его. Результат должен быть таким:
Guess 1: Too low!
Guess 2: Too low!
Guess 3: Too low!
Guess 4: Too low!
Guess 5: Correct!Запись многострочного скрипта с одной командой
echoв каждой строке работает, но есть более короткий способ: документ здесь передаёт всё содержимое до закрывающего слова непосредственно в файл.cat > script.sh << 'EOF' #!/bin/bash echo "hello" EOFКавычки вокруг
'EOF'не позволяют$variablesподставляться во время записи файла — именно это и нужно, когда сам скрипт использует их.
Подсказка: Используй
-neдля проверки «не равно» в условии while,-ltдля проверки «меньше» в инструкции if и-eqдля проверки «равно». Увеличивай значение guess в начале каждой итерации цикла с помощьюguess=$((guess + 1)).
Попробуйте сами
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога13Основы скриптинга оболочки
Что такое скрипт оболочкиСоздание и запуск скриптаПеременные в скриптахПользовательский ввод в скриптахОператор ifЦикл forЦикл whileИтог - Угадай число2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данныхПотренируйтесь самостоятельно: Песочница Terminal