Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Переменные-параметры перечислены в табл. 2.3.
Таблица 2.3
Переменная-параметр | Описание |
---|---|
$1 $2 | Параметры, передаваемые сценарию |
$* | Список всех параметров в единственной переменной, разделенных первым символом из переменной окружения IFS IFS $* |
[email protected] | Едва различимая вариация $* IFS IFS |
Легче всего увидеть разницу между переменными-параметрами
$*
[email protected]
$ <b>IFS=''</b>
$ <b>set foo bar bam</b>
$ <b>echo "[email protected]"</b>
foo bar bam
$ <b>echo "$*"</b>
foobarbam
$ <b>unset IFS</b>
$ <b>echo "$*"</b>
foo bar bam
Как видите, заключенная в двойные кавычки переменная-параметр
[email protected]
IFS
Помимо вывода на экран содержимого переменных с помощью команды
echo
read
В приведенном далее сценарии показано несколько простых манипуляций переменными. После ввода сценария и записи его в файл try_var не забудьте превратить его в исполняемый файл с помощью команды
chmod +х try_var
#!/bin/sh
salutation="Hello"
echo $salutation
echo "The program $0 is now running"
echo "The second parameter was $2"
echo "The first parameter was $1"
echo "The parameter list was
echo "The user's home directory is $HOME"
echo "Please enter a new greeting"
read salutation
echo $salutation
echo "The script is now complete"
exit 0
Если вы выполните этот сценарий, то получите следующий вывод:
$ <b>./try_var foo bar baz</b>
Hello
The program ./try_var is now running
The second parameter was bar
The first parameter was foo
The parameter list was foo bar baz
The user's home directory is /home/rick
Please enter a new greeting
<b>Sire</b>
Sire
The script is now complete $
Как это работает
Сценарий создает переменную
salutation
$НОМЕ
Далее в этой главе мы рассмотрим более подробно подстановку параметров.
Условия
Основа всех языков программирования — средства проверки условий и выполнение различных действий с учетом результатов этой проверки. Но прежде чем говорить об этом, давайте рассмотрим условные конструкции, которые можно применять в сценариях командной оболочки, а затем познакомимся с использующими их управляющими структурами.
Сценарий командной оболочки может проверить код завершения любой команды, вызванной из командной строки, включая сценарии, написанные вами. Вот почему так важно всегда включать в создаваемые вами сценарии команду exit с определенным значением.
На практике в большинстве сценариев широко используется команда
[
test
[
test
[
]
[
Эти команды в некоторых ранних оболочках UNIX вызывают внешнюю программу, но в более современных версиях их стараются делать встроенными. Мы вернемся к этому, когда будем рассматривать команды в следующем разделе.
Поскольку команда
test
test
which test
test
./test
./