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


Программирование на языке сценариев командной оболочки - стр. 278


echo "====================================="

exit 0

Допускается даже комбинирование сценариев на Bash и на Perl, в пределах одного файла. В зависимости от того, какая часть сценария должна исполняться, сценарий вызывается с указанием требуемого интерпретатора.

Пример 33-5. Комбинирование сценария Bash и Perl в одном файле

#!/bin/bash # bashandperl.sh

echo "Вас приветствует часть сценария, написанная на Bash." # Далее могут следовать другие команды Bash.

exit 0 # Конец сценария на Bash.

# =======================================================

#!/usr/bin/perl # Эта часть сценария должна вызываться с ключом -x.

print "Вас приветствует часть сценария, написанная на Perl.\n"; # Далее могут следовать другие команды Perl.

# Конец сценария на Perl.

bash$ bash bashandperl.sh

Вас приветствует часть сценария, написанная на Bash.

bash$ perl -x bashandperl.sh

Вас приветствует часть сценария, написанная на Perl.

33.3. Операции сравнения: Альтернативные решения

Операции сравнения, выполняемые с помощью конструкции [[ ]], могут оказаться предпочтительнее, чем [ ]. Аналогично, при сравнении чисел, в более выгодном свете представляется конструкция (( )).

a=8

# Все, приведенные ниже, операции сравнения -- эквивалентны. test "$a" -lt 16 && echo "да, $a < 16" # "И-список" /bin/test "$a" -lt 16 && echo "да, $a < 16" [ "$a" -lt 16 ] && echo "да, $a < 16" [[ $a -lt 16 ]] && echo "да, $a < 16" # Внутри [[ ]] и (( )) переменные (( a < 16 )) && echo "да, $a < 16" # не обязательно брать в кавычки.

city="New York" # Опять же, все, приведенные ниже, операции -- эквивалентны. test "$city" \< Paris && echo "Да, Paris больше, чем $city" # В смысле ASCII-строк. /bin/test "$city" \< Paris && echo "Да, Paris больше, чем $city" [ "$city" \< Paris ] && echo "Да, Paris больше, чем $city" [[ $city < Paris ]] && echo "Да, Paris больше, чем $city" # Кавычки вокруг $city не обязательны.




Начало  Назад  Вперед



Книжный магазин