Файл сценария можно выполнить двумя способами. Более простой путь — запустить оболочку с именем файла сценария как параметром:
$ /bin/sh first
Этот вариант будет работать, но лучше запускать сценарий, введя его имя и тем самым присвоив ему статус других команд Linux. Сделать это можно с помощью команды chmod, изменив режим файла (file mode) и сделав его исполняемым для всех пользователей:
$ chmod +x first
После этого можно выполнять файл с помощью команды $ first
При этом может появиться сообщение об ошибке, говорящее о том, что команда не найдена. Исправить ошибку можно введя с клавиатуры в командной строке./first в каталоге, содержащем сценарий, чтобы задать командной оболочке полный относительный путь к файлу.
Указание пути, начинающегося с символов./, дает еще одно преимущество: в этом случае вы случайно не сможете выполнить другую команду с тем же именем, что и у вашего файла сценария.
После того как вы убедитесь в корректной работе вашего сценария, можете переместить его в более подходящее место, чем текущий каталог. Если команда предназначена только для собственных нужд, можете создать каталог bin в своем исходном каталоге и добавить его в свой путь. Если вы хотите, чтобы сценарий выполняли другие пользователи, можно использовать каталог /usr/local/bin или другой системный каталог как удобное хранилище для вновь созданных программ.
|
|
Синтаксис языка командной оболочки
Переменные
В командной оболочке переменные перед применением обычно не объявляются. Вместо этого они создаются (например, когда им присваивается начальное значение). По умолчанию все переменные считаются строками и хранятся как строки, даже когда им присваиваются числовые значения. Командная оболочка и некоторые утилиты преобразуют строки, содержащие числа, в числовые значения, когда с переменными нужно выполнить арифметические операции. Командная оболочка считает fоо и Foo двумя разными переменными, отличающимися от третьей переменной FOO.
В командной оболочке можно получить доступ к содержимому переменной, если перед ее именем ввести знак $. Каждый раз, когда вы извлекаете содержимое переменной, вы должны перед ее именем добавить знак $. Когда вы присваиваете переменной значение, просто используйте имя переменной, которая при необходимости будет создана динамически. Вы можете увидеть это в действии, если в командной строке будете задавать и проверять разные значения переменной salut:
$ salut=Hello
$ echo $salut
Hello
$ salut="Yes Dear"
$ echo $salut
Yes Dear
$ salut=7+5
$ echo $salut
7+5
Примечания
1. При наличии пробелов в содержимом переменной ее заключают в кавычки. Кроме того, не может быть пробелов справа и слева от знака равенства.
|
|
2. Для выполнения арифметических операций над целыми числами или целочисленными переменными следует использовать двойные круглые скобки:
$ echo $((7+5))
$ a=5
$ b=4
$ echo $(((a+b)*(a-b)))
С помощью команды read можно присвоить переменной пользовательский ввод. Команда принимает один параметр — имя переменной, в которую будут считываться данные и затем ждет, пока пользователь введет какой-либо текст. Команда read обычно завершается после нажатия пользователем клавиши <Enter>. При чтении переменной с терминала, как правило, заключать ее значения в кавычки не требуется:
$ read salut
Wie geht's?
$ echo $salut
Wie geht's?