По принцип, ако подадеш на терминала някакъв текстови файл, който да бъде изпълнен, всеки ред от този файл се приема за команда. Например, създаваш си файла script в директорията /home/user, вписваш в него някакви команди, всяка на отделен ред, например
ls -la
echo "Някакъв текст"
df -h
след което го извикваш с някой shell в терминала, например команда за извикване на файла с bash
bash /home/user/script
а може и да направиш файла изпълним с команда
chmod +x /home/user/script
след което да извикаш файла директно по име с команда
/home/user/script
Отделянето на командите във файла можеш да го направиш не само с нов ред, но и с "&&" (без кавичките, ако искаш следващата команда да е зависима от изпълнението на предходната) или с ";" (без кавичките, ако искаш следващата команда да е независима от изпълнението на предходната).
Като цяло обаче е хубаво в самия скрипт да опишеш shell-а, който ще се използва за изпълнението на скрипта. Това става с подобен ред в началото на файла
GeSHi (Bash):
#!/bin/bash
В случая сме описали, че скриптът трябва да се изпълни в среда на bash, като сме описали пълния път до изпълнимия файл на bash.
Имай предвид, че shell обвивките в Linux не предоставят просто среда за изпълнение на поредност от команди, но и някои условности, променливи и т.н., характерни за програмните езици. Има обаче някои разлики в поддържаните синтаксиси между отделните shell-ове, така че има значение какъв точно синтаксис следваш спрямо това какъв shell си си избрал за изпълнението. Като начало по въпроса може да чуеш
лекцията на Петър Пенчев на OpenFest-а преди 3 години, където в един от Lightning Talks зачекна темата. За още ще се поровиш в Интернет, а ние ще помагаме, когато се спънеш някъде