Shell script — различия между версиями
Andy (обсуждение | вклад) (→) |
Andy (обсуждение | вклад) (→Общая информация) |
||
| Строка 9: | Строка 9: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#! | #! | ||
| + | </syntaxhighlight> | ||
| + | Соответственно, если файл должен обрабатывать <code>bash</code>, то это необходимо указать после "магической строки". То есть, <code>she-bang</code> | ||
| + | будет иметь следующий вид: | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | #!/bin/bash | ||
| + | </syntaxhighlight> | ||
| + | Если скрипт предназначен для пользователя, то должны быть выставлен необходимый владелец файла, и права на запуск скрипта <code>755</code>. Поскольку | ||
| + | скрипт является выполняемым, то по первым литерам названия, коммандный интерпертатор производит поиск названия в переменной <code>$PATH</code>, | ||
| + | соответственно, лучше выбрать имя для скрипта, которое не совпадает с имеющейся утилитой. Для просмотра переменной <code>$PATH</code> | ||
| + | надо выполнить следующую команду: | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | [root@vm-01 ~]# echo $PATH | ||
| + | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin | ||
| + | [root@vm-01 ~]# | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 10:35, 26 марта 2018
Основы создания скриптов на bash
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
bash,bash-completion,vim-minimal,vim-enhanced
Общая информация
Любой скрипт, начинается с "магической строки" - сигнатуры, которая говорит командному интерпретатору как обрабатывать файл.
Для скриптов, такая последовательность носит называние she-bang (сокращение от sharp-bang):
#!Соответственно, если файл должен обрабатывать bash, то это необходимо указать после "магической строки". То есть, she-bang
будет иметь следующий вид:
#!/bin/bashЕсли скрипт предназначен для пользователя, то должны быть выставлен необходимый владелец файла, и права на запуск скрипта 755. Поскольку
скрипт является выполняемым, то по первым литерам названия, коммандный интерпертатор производит поиск названия в переменной $PATH,
соответственно, лучше выбрать имя для скрипта, которое не совпадает с имеющейся утилитой. Для просмотра переменной $PATH
надо выполнить следующую команду:
[root@vm-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@vm-01 ~]#