Съдържание
По принцип казваме, че това е файл, който съдържа код, написан на определен език за програмиране, който системата използва за определена задача. Не е необходимо да има външен вход или графичен интерфейс, но трябва да извежда обработени данни.
За да започнем, трябва да имаме текстов редактор и желание да програмираме. Файловете, които запазваме с разширението .sh, могат да бъдат изпълнявани (или интерпретирани) от конзолата, стига първият ред да е следният:
#! / bin / bash
Това казва на системата да използва конзолата за стартиране на файла. В допълнение, знакът # ви позволява да пишете коментари.
Ще опитаме няколко примера
Създаваме файл, наречен downloads.sh
#! / bin / bash # нека създадем псевдоним, наречен изтегляния, с адреса на директорията за изтегляния псевдоним изтегляния = ’ / home / user / Downloads’
Запазете го като downloads.sh
За да стартирате „Bash скрипта, дайте му разрешения за изпълнение. За да направите това, въведете командния терминал:
chmod u + x downloads.shНе забравяйте да изпълните тази команда за всеки скрипт, който създавате
Стартирайте „скрипта“, като стартирате в терминала
./downloads.shАко работи, трябва да бъдете позиционирани в директорията Downloads
Използвайте променливи и параметри в скрипта
#! / bin / bash # Използване на променливи # echo "Първият ви аргумент е" $ 1 echo "Вторият ви аргумент е" $ 2
Начинът за изпълнение на скрипта ще бъде например
./miScript.sh здравей 4
Резултатът трябва да бъде
Първият ти аргумент е здравей
Вторият ти аргумент е 4
Как да направите възможно въвеждането на променливи и параметри по време на изпълнение
#! / bin / bash echo "Въведете вашето име и натиснете ENTER" #Прочетете името на променливата прочетете име echo "Вашето име е $ name"
По -полезен пример за скрипт, който ще ни каже какви процеси изпълнява определен потребител, който е въведен
#! / bin / bash RES = s #отговор на цикъла продължава, докато докато [$ RES = s] прави ехо "Въведете потребителско име:" прочетете USU #потребителско име ps aux | grep $ USU ехо "Искате ли да продължите?" прочетете RES направено
Ако искаме да попречим на всеки потребител да изпълни скрипта в началото, можем да поставим следния код, така че да може да бъде изпълнен само от потребителя root
#! / bin / bash if [[$ EUID -ne 0]]; след това echo "Този скрипт трябва да бъде изпълнен от root потребителя" 1> & 2 изход 1 fiАко някой друг потребител се опита да стартира скрипта, той няма да работи и прозорецът на терминала ще се затвори.
Можем също така да позволим на някои потребители да го изпълняват вместо тях, в началото ще поставим следния код
#! / bin / bash AUTHORIZED_USER = "разрешен потребител", ако [$ USER! = $ AUTHORIZED_USER]; след това echo "Този скрипт трябва да бъде изпълнен от потребителя $ AUTHORIZED_USER" 1> & 2 изход 1 fi
Ще създадем bash меню, за да дадем различни опции на потребител или за улесняване на взаимодействието
#! / bin / bash clear while: do echo "Изберете опция" echo "1. Влезли потребители?" echo "2. Потребление на ресурс" echo "3. Услугите работят?" echo "4. Изход" echo -n "Изберете опция [1 - 4]" случай на опция за четене $ option в 1) echo "Те са свързани:"; quien ;; 2) ехо "Running htop"; htop ;; 3) lsof -n -i -P | grep '*;; 4) ехо "Край"; изход 1 ;; *) echo "$ opc е невалидна опция?"; echo "Натиснете клавиш, за да продължите …"; прочетете foo ;; СвършенХареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка