Asplinux як зробити і запустити скрипт (командний файл), xnix, adminstuff

Створення і використання скрипта тут описано на прикладі конфігурації мережевих інтерфейсів.

[Приклад - настройка мережі і моста на 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

Увага: пропуски перед та після дужок [], а також навколо оператора рівності == дуже важливі, інакше скрипт ще не були правильно працювати.