Створення і використання скрипта тут описано на прикладі конфігурації мережевих інтерфейсів.
[Приклад - настройка мережі і моста на ASPLinux10 скриптом]
Перед виконанням цього скрипта я зробив так, що у мене мережеві інтерфейси при завантаженні ASPLinux не налаштовувати (ifconfig видавав тільки конфігурацію інтерфейсу lo [loopback]). Це я виконав GUI-оснащенням. Потім написав наступний скрипт (/root/Desktop/network_setup.txt):
ifconfig eth0 0.0.0.0
ifconfig eth0 down
ifconfig eth1 0.0.0.0
ifconfig eth1 down
brctl addbr mybridge0
brctl addif mybridge0 eth0
brctl addif mybridge0 eth1
ifconfig mybridge0 loc1.loc2.11.111
ifconfig mybridge0 broadcast loc1.loc2.255.255
ifconfig mybridge0 netmask 255.255.0.0
ifconfig mybridge0 up
ifconfig eth0 up
ifconfig eth1 up
route add -net 0.0.0.0 netmask 0.0.0.0 gw loc1.loc2.0.254 dev mybridge0
Щоб цей скрипт автоматично завантажувався при включенні комп'ютера, в файлі /etc/rc.d/rc.sysinit в кінці я вказав рядок (просто вказав шлях до скрипту і його назва):
/root/Desktop/network_setup.txt
Само собою, перед цим я встановив права на запуск цього файлу (див. Пост 97). Крім того, команди на запуск скрипта можна вставити в файл /etc/rc.d/rc.local.
[Передача параметрів в скрипт]
В скрипті є можливість отримувати параметри, які були передані в скрипт через командний рядок при його запуску. Наприклад, командний рядок була наступною:
імя_скріпта.sh AAA BBB CCC
Тоді в тілі скрипта автоматично з'являться змінні $ 1, $ 2 і $ 3, які будуть рівні AAA, BBB і CCC відповідно. Подробиці див. В [1].
mysqluser = "user_name_here"
mysqlpass = "password_here"
mysqlbase = "base_name_here"
Цей приклад додає в код три змінні $ mysqluser, $ mysqlpass, $ mysqlbase з встановленими значеннями. Увага: не можна додавати пропуски перед та після оператора присвоювання =, інакше скрипт буде виконуватися неправильно.
[Перевірка значень текстових змінних]
if [ "$ 1" == "off"]; then
# Тут гілка, коли в командний рядок передали off
.
echo "security off"
elif [ "$ 1" == "on"]; then
# Тут гілка, коли в командний рядок передали on
.
echo "security on"
else
# Тут гілка, коли в командний рядок передали невірний параметр
echo "usage. sec.change.sh [on | off]"
fi
Увага: пропуски перед та після дужок [], а також навколо оператора рівності == дуже важливі, інакше скрипт ще не були правильно працювати.