Пример 29-1. Сценарий, содержащий ошибку

Пример 29-1. Сценарий, содержащий ошибку

#!/bin/bash

# ex74.sh

# Этот сценарий содержит ошибку.

a=37

if [$a -gt 27 ]

then

echo $a

fi

exit 0

В результате исполнения этого сценария вы получите такое сообщение:

./ex74.sh: [37: command not found

Что в этом сценарии может быть неправильно (подсказка: после ключевого слова if)?

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Где искать ошибку

Из книги 19 смертных грехов, угрожающих безопасности программ автора Ховард Майкл

Где искать ошибку Любое приложение, в котором производятся арифметические операции, подвержено этому греху, особенно когда некоторые входные данные поступают от пользователя и их правильность не проверяется. Особое внимание обращайте на вычисление индексов массивов и


Где искать ошибку

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Где искать ошибку Любое приложение, обладающее перечисленными ниже характеристиками, подвержено риску внедрения SQL:? принимает данные от пользователя;? не проверяет корректность входных данных;? использует введенные пользователем данные для запроса к базе;? применяет


Где искать ошибку

Из книги автора

Где искать ошибку Вот основные характерные признаки:? команды (или управляющая информация) и данные расположены друг за другом;? существует возможность, что данные будут интерпретироваться как команда, зачастую из–за наличия специальных символов, например кавычки и


Где искать ошибку

Из книги автора

Где искать ошибку Так просто и не скажешь, нет характерных признаков. Самый эффективный способ – провести анализ


Где искать ошибку

Из книги автора

Где искать ошибку Этот грех обычно проявляется, когда:? приложение пользуется сетью;? проектировщик не обращает внимания на риски, связанные с работой в сети, или недооценивает их.Например, типичный аргумент звучит так: «мы ожидаем, что этот порт будет доступен только из


Где искать ошибку

Из книги автора

Где искать ошибку Искать нужно места в программе, где:? Web–приложение получает секретную информацию из формы или из URL;? для принятия решения о безопасности, доверии или авторизации используются данные;? данные передаются по незащищенному или не заслуживающему доверия


Пример 2-1. cleanup: Сценарий очистки лог-файлов в /var/log

Из книги автора

Пример 2-1. cleanup: Сценарий очистки лог-файлов в /var/log # cleanup# Для работы сценария требуются права root.cd /var/logcat /dev/null > messagescat /dev/null > wtmpecho "Лог-файлы очищены."Здесь нет ничего необычного, это простая последовательность команд, которая может быть набрана в командной строке с


Пример 11-23. Сценарий, завершающий себя сам с помощью команды kill

Из книги автора

Пример 11-23. Сценарий, завершающий себя сам с помощью команды kill #!/bin/bash# self-destruct.shkill $$ # Сценарий завершает себя сам. # Надеюсь вы еще не забыли, что "$$" -- это PID сценария.echo "Эта строка никогда не будет выведена."# Вместо него на stdout будет выведено сообщение "Terminated".exit 0# Какой


Пример 33-6. Сценарий (бесполезный), который вызывает себя сам

Из книги автора

Пример 33-6. Сценарий (бесполезный), который вызывает себя сам #!/bin/bash# recurse.sh# Может ли сценарий вызвать себя сам?# Да, но есть ли в этом смысл?RANGE=10MAXVAL=9i=$RANDOMlet "i %= $RANGE" # Генерация псевдослучайного числа в диапазоне 0 .. $MAXVAL.if [ "$i" -lt "$MAXVAL" ]then echo "i = $i" ./$0 # Сценарий запускает


Пример 33-7. Сценарий имеющий практическую ценность), который вызывает себя сам

Из книги автора

Пример 33-7. Сценарий имеющий практическую ценность), который вызывает себя сам #!/bin/bash# pb.sh: телефонная книга# Автор: Rick Boivie# используется с его разрешения.# Дополнен автором документа.MINARGS=1 # Сценарию должен быть передан, по меньшей мере, один


Пример H-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки

Из книги автора

Пример H-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки #!/bin/bash# Результат преобразования пакетного файла VIEWDATA.BAT в сценарий командной оболочки.DATAFILE=/home/bozo/datafiles/book-collection.dataARGNO=1# @ECHO OFF Эта команда здесь не нужна.if [ $# -lt "$ARGNO" ] # IF !%1==! GOTO VIEWDATAthen less