Превращение сценария в исполняемый файл

Файл сценария можно выполнить двумя способами. Более простой путь — запустить оболочку с именем файла сценария как параметром:

$ /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?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: