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

# Внимание! Это может снизить читабельность сценария и оказаться непереносимым.

var1=variable1 var2=variable2 var3=variable3

echo

echo "var1=$var1 var2=$var2 var3=$var3"

# Могут возникнуть проблемы с устаревшими версиями "sh".

# --------------------------------------------------------------

echo; echo

numbers="один два три"

other_numbers="1 2 3"

# Если в значениях переменных встречаются пробелы,

# то использование кавычек обязательно.

echo "numbers = $numbers"

echo "other_numbers = $other_numbers" # other_numbers = 1 2 3

echo

echo "uninitialized_variable = $uninitialized_variable"

# Неинициализированная переменная содержит "пустое" значение.

uninitialized_variable= # Объявление неинициализированной переменной

#+ (то же, что и присваивание пустого значения, см. выше).

echo "uninitialized_variable = $uninitialized_variable"

# Переменная содержит "пустое" значение.

uninitialized_variable=23 # Присваивание.

unset uninitialized_variable # Сброс.

echo "uninitialized_variable = $uninitialized_variable"

# Переменная содержит "пустое" значение.

echo

exit 0

Неинициализированная переменная хранит "пустое" значение - не ноль!. Использование неинициализированных переменных может приводить к ошибкам разного рода в процессе исполнения.

Не смотря на это в арифметических операциях допускается использовать неинициализированные переменные.

echo "$uninitialized" # (пустая строка)

let "uninitialized += 5" # Прибавить 5.

echo "$uninitialized" # 5

# Заключение:

# Неинициализированные переменные не имеют значения, однако

#+ в арифметических операциях за значение таких переменных принимается число 0.

# Это недокументированная (и возможно непереносимая) возможность.

См. так же Пример 11-19.

<p><strong>4.2. Присваивание значений переменным</strong></p>

=

оператор присваивания (пробельные символы до и после оператора -- недопустимы)

Не путайте с операторами сравнения = и -eq!

Обратите внимание: символ = может использоваться как в качестве оператора присваивания, так и в качестве оператора сравнения, конкретная интерпретация зависит от контекста применения.

<p><strong>Пример 4-2. Простое присваивание</strong></p>

#!/bin/bash

# Явные переменные

echo

# Когда перед именем переменной не употребляется символ '$'?

# В операциях присваивания.

# Присваивание

a=879

echo "Значение переменной \"a\" -- $a."

# Присваивание с помощью ключевого слова 'let'

let a=16+5

echo "Значение переменной \"a\" теперь стало равным: $a."

echo

# В заголовке цикла 'for' (своего рода неявное присваивание)

echo -n "Значения переменной \"a\" в цикле: "

for a in 7 8 9 11

do

echo -n "$a "

done

echo

echo

# При использовании инструкции 'read' (тоже одна из разновидностей присваивания)

echo -n "Введите значение переменной \"a\" "

read a

echo "Значение переменной \"a\" теперь стало равным: $a."

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных