30 примера за Bash скрипт

30 Bash Script Examples




Bash скриптове могат да се използват за различни цели, като например изпълнение на команда на черупка, изпълнение на множество команди заедно, персонализиране на административни задачи, извършване на автоматизация на задачи и т.н. Така че познаването на основите на bash програмиране е важно за всеки потребител на Linux. Тази статия ще ви помогне да получите основната идея за програмирането на bash. Повечето от често срещаните операции на bash скриптове са обяснени с много прости примери тук.

Следните теми за програмиране на bash са обхванати в тази статия.







  1. Здравей свят
  2. Команда за ехо
  3. Коментари
  4. Многоредов коментар
  5. Докато Loop
  6. За цикъл
  7. Вземете потребителски вход
  8. Ако изявление
  9. И условие ако изявление
  10. Или Условие ако изявление
  11. Иначе условие ако и друго
  12. Състояние на случая
  13. Вземете аргументи от командния ред
  14. Вземете аргументи от командния ред с имена
  15. Комбинирайте два низа в променлива
  16. Вземете подниза от низове
  17. Добавете 2 числа към променлива
  18. Създайте функция
  19. Използвайте функционални параметри
  20. Предайте върната стойност от скрипта
  21. Направете директория
  22. Направете директория, като проверите съществуването
  23. Прочетете файл
  24. Изтриване на файл
  25. Добавяне към файла
  26. Тествайте дали файлът съществува
  27. Пример за изпращане на имейл
  28. Вземете синтактична текуща дата
  29. Команда за изчакване
  30. Команда за заспиване

Създайте и изпълнете първа програма BASH:

Можете да стартирате bash скрипт от терминала или като изпълните всеки bash файл. Изпълнете следната команда от терминала, за да изпълните много проста bash инструкция. Изходът на командата ще бъде „ Здравей свят '.



$изхвърлен 'Здравей свят'



Отворете всеки редактор, за да създадете bash файл. Тук, нано редакторът се използва за създаване на файла и името на файла е зададено като „ First.sh ’





$наноПърво.sh

Добавете следния bash скрипт към файла и запишете файла.

#!/bin/bash
изхвърлен 'Здравей свят'



Можете да стартирате bash файл по два начина. Един от начините е чрез използване на команда bash, а друг е чрез задаване на разрешение за изпълнение за bash файл и стартиране на файла. Тук са показани и двата начина.

$башПърво.sh

Или,

$chmoda+x First.sh
$./Първо.sh

Отидете на върха

Използване на командата echo:

Можете да използвате командата echo с различни опции. Някои полезни опции са споменати в следния пример. Когато използвате „ изхвърлен 'Команда без никаква опция, тогава по подразбиране се добавя нов ред. '-н' опцията се използва за отпечатване на всеки текст без нов ред и '-И' опцията се използва за премахване на обратната наклонена черта от изхода. Създайте нов bash файл с име „ echo_example.sh “И добавете следния скрипт.

#!/bin/bash
изхвърлен „Отпечатване на текст с нов ред“
изхвърлен „Отпечатване на текст без нов ред“
изхвърлен 'нПремахванеTнаклонена чертаTперсонажин'

Стартирайте файла с командата bash.

$башecho_example.sh

Отидете на върха

Използване на коментар:

‘#’ символ се използва за добавяне на коментар на един ред в bash скрипт. Създайте нов файл с име „ comment_example.sh ’ и добавете следния скрипт с коментар на един ред.

#!/bin/bash

# Добавете две числови стойности
((сума=25+35))

#Отпечатайте резултата
изхвърлен $ сума

Стартирайте файла с командата bash.

$башcomment_example.sh

Отидете на върха

Използване на многоредов коментар:

Можете да използвате многоредов коментар в bash по различни начини. Един прост начин е показан в следния пример. Създайте нов bash с име, „Multiline-comment.sh“ и добавете следния скрипт. Тук, ‘:’ и ' символите се използват за добавяне на многоредов коментар в bash скрипт. Този скрипт ще изчисли квадрата от 5.

#!/bin/bash
:'
Следният скрипт изчислява
квадратната стойност на числото, 5.
'

((■ площ=5*5))
изхвърлен $ площ

Стартирайте файла с командата bash.

$башmultiline-comment.sh

Можете да проверите следната връзка, за да научите повече за използването на bash коментар.

https://linuxhint.com/bash_comments/

Отидете на върха

Използване на While Loop:

Създайте bash файл с името, ‘While_example.sh’, да знаете използването на докато цикъл. В примера, докато цикъл ще повтори за 5 пъти. Стойността на броя променливата ще се увеличи с 1 във всяка стъпка. Когато стойността на броя променливата ще 5, тогава докато цикълът ще се прекрати.

#!/bin/bash
валиден=вярно
броя=1
докато [ $ валидно ]
направете
изхвърлен $ count
ако [ $ count -екв 5 ];
тогава
прекъсване
бъда
((брой ++))
Свършен

Стартирайте файла с командата bash.

$башwhile_example.sh

Можете да проверите следната връзка, за да научите повече за използването на цикъл while.

https://linuxhint.com/bash- medtem-loop-examples/

Отидете на върха

Използване за цикъл:

Основното за декларацията на цикъл е показана в следния пример. Създайте файл с име „ for_example.sh “И добавете следния скрипт, като използвате за цикъл. Тук, за цикъл ще повтори за 10 пъти и отпечата всички стойности на променливата, брояч в един ред.

#!/bin/bash
за (( брояч=10; брояч>0; брояч-))
направете
изхвърлен '$ брояч'
Свършен
printf 'н'

Стартирайте файла с командата bash.

$башfor_example.sh

Можете да използвате for loop за различни цели и начини във вашия bash скрипт. Можете да проверите следната връзка, за да научите повече за използването на for цикъл.

https://linuxhint.com/bash-for-loop-examples/

Отидете на върха

Вземете потребителски вход:

' Прочети 'Командата се използва за получаване на въвеждане от потребителя в bash. Създайте файл с име „ user_input.sh “И добавете следния скрипт за получаване на информация от потребителя. Тук една стойност на низ ще бъде взета от потребителя и ще покаже стойността чрез комбиниране на друга стойност на низ.

#!/bin/bash
изхвърлен 'Въведете вашето име'
Прочетииме
изхвърлен 'Добре дошли$ nameкъм LinuxHint '

Стартирайте файла с командата bash.

$башuser_input.sh

Можете да проверите следната връзка, за да научите повече за използването на потребителски вход.

https://linuxhint.com/bash-script-user-input/

Отидете на върха

Използвайки оператора if:

Можете да използвате ако условие с единични или множество условия. Началният и крайният блок на това изявление се определя от „Ако“ и 'бъда' . Създайте файл с име „ simple_if.sh “Със следния скрипт, за да знаете употребата ако изявление на bash. Тук, 10 се присвоява на променливата, н . ако стойността на $ n е по -малко от 10, тогава изходът ще бъде Това е едноцифрено число , в противен случай изходът ще бъде Това е двуцифрено число . За сравнение, „-Lt“ се използва тук. За сравнение можете също да използвате „-Eq“ за равенство , '-роден' за не равенство и '-Gt' за по-голяма от в bash скрипт.

#!/bin/bash
н=10
ако [ $ n -лт 10 ];
тогава
изхвърлен „Това е едноцифрено число“
иначе
изхвърлен „Това е двуцифрено число“
бъда

Стартирайте файла с командата bash.

$башsimple_if.sh

Отидете на върха

Използване на оператора if с логиката AND:

Различни видове логически условия могат да се използват в оператор if с две или повече условия. Как можете да дефинирате множество условия в използването на израза if И логиката е показана в следния пример. '&&' се използва за кандидатстване И логика на ако изявление. Създайте файл с име „If_with_AND.sh“ за да проверите следния код. Тук стойността на потребителско име и парола променливите ще бъдат взети от потребителя и сравнени с „ администратор ' и ' тайна “. Ако и двете стойности съвпадат, изходът ще бъде валиден потребител , в противен случай изходът ще бъде невалиден потребител .

! /съм/баш

изхвърлен „Въведете потребителско име“
Прочетипотребителско име
изхвърлен 'Въведете паролата'
Прочетипарола

ако [[ ( $ потребителско име=='администратор' && $ парола=='тайна' ) ]];тогава
изхвърлен „валиден потребител“
иначе
изхвърлен „невалиден потребител“
бъда

Стартирайте файла с командата bash.

$башif_with_AND.sh

Отидете на върха

Използване на оператора if с логика OR:

' || “Се използва за дефиниране ИЛИ логика в ако състояние. Създайте файл с име „If_with_OR.sh“ със следния код, за да проверите използването на ИЛИ логика на ако изявление. Тук стойността на н ще бъдат взети от потребителя. Ако стойността е равна на петнадесет или Четири пет тогава изходът ще бъде Спечелихте играта , в противен случай изходът ще бъде Загубихте играта .

#!/bin/bash

изхвърлен „Въведете произволен номер“
Прочетин

ако [[ ( $ n -екв петнадесет || $ n -екв Четири пет ) ]]
тогава
изхвърлен „Спечелихте играта“
иначе
изхвърлен „Загубихте играта“
бъда

Стартирайте файла с командата bash.

$башif_with_OR.sh

Отидете на върха

Използване на оператор else if:

Използването на иначе ако условието е малко по -различно в bash от други езици за програмиране. ‘ elif “Се използва за дефиниране иначе ако състояние в bash. Създайте файл с име „ elseif_example.sh “И добавете следния скрипт, за да проверите как иначе ако е дефиниран в bash скрипт.

#!/bin/bash

изхвърлен „Въведете щастливия си номер“
Прочетин

ако [ $ n -екв 101 ];
тогава
изхвърлен „Имаш първа награда“
elif [ $ n -екв 510 ];
тогава
изхвърлен „Имаш втора награда“
elif [ $ n -екв 999 ];
тогава
изхвърлен „Имаш трета награда“

иначе
изхвърлен „Извинете, опитайте следващия път“
бъда

Стартирайте файла с командата bash.

$башelseif_example.sh

Отидете на върха

Използване на изявление на случая:

Дело изявлението се използва като алтернатива на if-elseif-else изявление. Началният и крайният блок на това изявление се определя от „ случай ' и ' esac “. Създайте нов файл с име „ case_example.sh “И добавете следния скрипт. Резултатът от следния скрипт ще бъде същият като предишния иначе ако пример.

#!/bin/bash

изхвърлен „Въведете щастливия си номер“
Прочетин
случай $ n в
101)
изхвърлен изхвърлен „Имаш първа награда“ ;;
510)
изхвърлен „Имаш втора награда“ ;;
999)
изхвърлен „Имаш трета награда“ ;;
*)
изхвърлен „Извинете, опитайте следващия път“ ;;
esac

Стартирайте файла с командата bash.

$башcase_example.sh

Отидете на върха

Вземете аргументи от командния ред:

Баш скриптът може да чете въвеждане от аргумента на командния ред, подобно на друг език за програмиране. Например, $ 1 и $ 2 променливата се използва за четене на първи и втори аргументи на командния ред. Създайте файл с име command_line.sh и добавете следния скрипт. Две стойности на аргументи, прочетени от следния скрипт и отпечатват общия брой аргументи и стойностите на аргумента като изход.

#!/bin/bash
изхвърлен „Общо аргументи: $#“
изхвърлен „Първи аргумент = $ 1“
изхвърлен '2 -ри аргумент = $ 2'

Стартирайте файла с командата bash.

$башcommand_line.sh Linux Съвет

Можете да проверите следната връзка, за да научите повече за използването на аргумента на командния ред.

https://linuxhint.com/command_line_arguments_bash_script/

Отидете на върха

Вземете аргументи от командния ред с имена:

Как можете да прочетете аргументите на командния ред с имена е показано в следния скрипт. Създайте файл с име „ command_line_names.sh ’ и добавете следния код. Ето два аргумента, х и И се четат от този скрипт и отпечатват сумата от X и Y.

#!/bin/bash
заядосанв '[защитен имейл]'
направете
индекс= $(изхвърлен $ arg | разрез -f1 =)
час= $(изхвърлен $ arg | разрез -f2 =)
случай $ индекс в
х) х=$ часове;;

И) и=$ часове;;

*)
esac
Свършен
((резултат= x + y))
изхвърлен 'X + Y =$ резултат'

Стартирайте файла с команда bash и с два аргумента от командния ред.

$башимена на_командни_редовех=Четири пет И=30

Отидете на върха

Комбинирайте низови променливи:

Можете лесно да комбинирате низови променливи в bash. Създайте файл с име string_combine.sh и добавете следния скрипт, за да проверите как можете да комбинирате низови променливи в bash, като поставите променливи заедно или използвате '+' оператор.

#!/bin/bash

низ1='Linux'
низ2=„Съвет“
изхвърлен '$ string1$ string2'
низ3=$ string1+$ string2
низ3+=„е добър сайт за уроци в блога“
изхвърлен $ string3

Стартирайте файла с командата bash.

$башstring_combine.sh

Отидете на върха

Вземете подниза на низ:

Подобно на друг език за програмиране, bash няма вградена функция за изрязване на стойност от произволни низови данни. Но можете да направите задачата за подниза по друг начин в bash, който е показан в следния скрипт. За да тествате скрипта, създайте файл с име ‘ substring_example.sh “Със следния код. Тук стойността, 6 показва началната точка, от която ще започне подниза и 5 показва дължината на подниза.

#!/bin/bash
Ул=„Научете Linux от LinuxHint“
subStr=$ {Str: 6: 5}
изхвърлен $ subStr

Стартирайте файла с командата bash.

$башsubstring_example.sh

Отидете на върха

Добавете две числа:

Можете да правите аритметичните операции в bash по различни начини. Как можете да добавите две цели числа в bash с помощта на двойни скоби е показано в следния скрипт. Създайте файл с име „ add_numbers.sh “Със следния код. Две цели числа ще бъдат взети от потребителя и ще бъдат отпечатани резултатът от добавянето.

#!/bin/bash
изхвърлен „Въведете първо число“
Прочетих
изхвърлен „Въведете втори номер“
Прочетии
(( сума= x + y))
изхвърлен 'Резултатът от добавянето =$ сума'

Стартирайте файла с командата bash.

$башadd_numbers.sh

Можете да проверите следната връзка, за да научите повече за bash аритметиката.

https://linuxhint.com/bash_arithmetic_operations/

Отидете на върха

Създаване на функция:

Как можете да създадете проста функция и да я извикате е показано в следния скрипт. Създайте файл с име „ function_example.sh “И добавете следния код. Можете да извикате всяка функция само по име, без да използвате скоба в bash скрипт.

#!/bin/bash
функцияF1()
{
изхвърлен „Харесва ми bash програмиране“
}

F1

Стартирайте файла с командата bash.

$башfunction_example.sh

Отидете на върха

Създайте функция с параметри:

Bash не може да декларира параметър на функция или аргументи по време на деклариране на функция. Но можете да използвате параметри във функция, като използвате друга променлива. Ако по време на извикване на функция се предадат две стойности, тогава променливите $ 1 и $ 2 се използват за четене на стойностите. Създайте файл с име „ функция | _parameter.sh “И добавете следния код. Тук функцията „ Rectangle_Area ' ще изчисли площта на правоъгълник въз основа на стойностите на параметъра.

#!/bin/bash

Rectangle_Area() {
■ площ= $(($ 1 * $ 2))
изхвърлен 'Площта е:$ площ'
}

Rectangle_Area10 двайсет

Стартирайте файла с командата bash.

$башfunction_parameter.sh

Отидете на върха

Предайте възвращаема стойност от функцията:

Баш функцията може да предава както числови, така и низови стойности. Как можете да предадете низова стойност от функцията е показано в следния пример. Създайте файл с име „ function_return.sh “И добавете следния код. Функцията, поздрав() връща стойност на низ в променливата, час който се отпечатва по -късно чрез комбиниране с друг низ.

#!/bin/bash
функцияпоздрав() {

стр='Здравейте,$ name'
изхвърлен $ str

}

изхвърлен 'Въведете вашето име'
Прочетииме

час= $(поздрав)
изхвърлен 'Връщаната стойност на функцията е$ часове'

Стартирайте файла с командата bash.

$башfunction_return.sh

Можете да проверите следната връзка, за да научите повече за използването на функцията bash.

https://linuxhint.com/return-string-bash-functions/

Отидете на върха

Направете директория:

Bash използва „ mkdir 'Команда за създаване на нова директория. Създайте файл с име „ make_directory.sh “И добавете следния код, за да вземете ново име на директория от потребителя. Ако името на директорията не съществува в текущото местоположение, тя ще създаде директорията, в противен случай програмата ще покаже грешка.

#!/bin/bash
изхвърлен „Въведете име на директория“
Прочетиnewdir
mkdir $ newdir

Стартирайте файла с командата bash.

$башmake_directory.sh

Отидете на върха

Направете директория, като проверите съществуването:

Ако искате да проверите съществуването на директория в текущото местоположение, преди да изпълните „ mkdir “, Тогава можете да използвате следния код. '-д Опцията се използва за тестване на конкретна директория дали съществува или не. Създайте файл с име „ directory_exist.sh ’ и добавете следния код, за да създадете директория, като проверите съществуването.

#!/bin/bash
изхвърлен „Въведете име на директория“
Прочетиndr
ако [ '$ ndir' ]
тогава
изхвърлен 'Директория съществува'
иначе
mkdir $ ndir
изхвърлен „Директория е създадена“
бъда

Стартирайте файла с командата bash.

$башdirectory_exist.sh

Можете да проверите следната връзка, за да научите повече за създаването на директория.

https://linuxhint.com/bash_mkdir_not_existent_path/

Отидете на върха

Прочетете файл:

Можете да четете всеки файл ред по ред в bash, като използвате цикъл. Създайте файл с име „ read_file.sh “И добавете следния код, за да прочетете съществуващ файл с име„ book.txt '.

#!/bin/bash
файл='book.txt'
докато Прочетилиния;направете
изхвърлен $ ред
Свършен < $ файл

Стартирайте файла с командата bash.

$башread_file.sh

Изпълнете следната команда, за да проверите оригиналното съдържание на „ book.txt ’Файл.

$коткаbook.txt

Можете да проверите следната връзка, за да знаете различните начини за четене на файл.

https://linuxhint.com/read_file_line_by_line_bash/

Отидете на върха

Изтриване на файл:

' rm 'Командата се използва в bash за премахване на всеки файл. Създайте файл с име „ delete_file.sh “Със следния код, за да вземете името на файла от потребителя и да го премахнете. Тук, '-I' опцията се използва за получаване на разрешение от потребителя преди премахване на файла.

#!/bin/bash
изхвърлен „Въведете име на файл, за да премахнете“
Прочетиfn
rm $ fn

Стартирайте файла с командата bash.

$ls
$башdelete_file.sh
$ls

Отидете на върха

Добавяне към файл:

Нови данни могат да се добавят във всеки съществуващ файл, като се използва '>>' оператор в bash. Създайте файл с име ‘Append_file.sh “И добавете следния код, за да добавите ново съдържание в края на файла. Тук, ' Учене на Laravel 5 'Ще бъде добавено в' от book.txt ' файл след изпълнение на скрипта.

#!/bin/bash

изхвърлен „Преди да добавите файла“
коткаbook.txt

изхвърлен „Learning Laravel 5“>>book.txt
изхвърлен „След добавяне на файла“
коткаbook.txt

Стартирайте файла с командата bash.

$башappend_file.sh

Отидете на върха

Тествайте дали файлът съществува:

Можете да проверите съществуването на файл в bash, като използвате '-И' или '-F' опция. '-F' option се използва в следния скрипт за тестване на съществуването на файла. Създайте файл с име „ file_exist.sh “И добавете следния код. Тук името на файла ще премине от командния ред.

#!/bin/bash
име на файл=$ 1
ако [ -f '$ име на файл' ];тогава
изхвърлен 'Файлът съществува'
иначе
изхвърлен 'Файлът не съществува'
бъда

Изпълнете следните команди, за да проверите съществуването на файла. Тук, book.txt файлът съществува и book2.txt не съществува на текущото място.

$ls
$башfile_exist.sh book.txt
$башfile_exist.sh book2.txt

Отидете на върха

Изпратете имейл:

Можете да изпращате имейл, като използвате „ поща ' или ' изпрати писмо 'Команда. Преди да използвате тези команди, трябва да инсталирате всички необходими пакети. Създайте файл с име „ mail_example.sh “И добавете следния код, за да изпратите имейла.

#!/bin/bash
Получател= администратор@example.com
Предмет= Поздрав
Съобщение= Добре дошли на нашия сайт
поща $ Subject $ Получател <<< $ Съобщение

Стартирайте файла с командата bash.

$башmail_example.sh

Отидете на върха

Вземете текущата дата на синтактичен анализ:

Можете да получите текущата системна дата и час с помощта на ` дата `команда. Всяка част от стойността на датата и часа може да бъде анализирана с помощта на „ Y ',' m ',' d ',' H ',' M ' и ' С' . Създайте нов файл с име „ date_parse.sh ’ и добавете следния код за разделяне на ден, месец, година, час, минута и втора стойност.

#!/bin/bash
Година=дата+%И
Месец=дата+%м
Ден=дата+%д
Час=дата+%З
Минута=дата+%М
Второ=дата+%С
изхвърлен дата
изхвърлен „Текущата дата е:$ Ден-$ Месец-$ Година'
изхвърлен „Текущото време е:$ Час:$ Минута:$ Второ'

Стартирайте файла с командата bash.

$башdate_parse.sh

Отидете на върха

Команда за изчакване:

изчакайте е вградена команда на Linux, която чака да завърши всеки изпълнен процес. изчакайте команда се използва с определен идентификатор на процес или идентификатор на работа. Ако не е даден идентификатор на процес или идентификатор на работа с команда за изчакване, той ще изчака всички текущи дъщерни процеси да завършат и ще върне състоянието на излизане. Създайте файл с име „ wait_example.sh ’ и добавете следния скрипт.

#!/bin/bash
изхвърлен „Команда за изчакване“ &
process_id=$!
изчакайте $ process_id
изхвърлен „Излязъл със статус $?“

Стартирайте файла с командата bash.

$башwait_example.sh

Можете да проверите следната връзка, за да научите повече за командата чакане.

Команда за изчакване в Linux

Отидете на върха

Команда за заспиване:

Когато искате да спрете изпълнението на която и да е команда за определен период от време, можете да използвате сън команда. Можете да зададете размера на забавянето чрез секунди (и), минути (м), часове (ч) и дни (г). Създайте файл с име „Sleep_example.sh“ и добавете следния скрипт. Този скрипт ще изчака 5 секунди след стартиране.

#!/bin/bash

изхвърленизчакайтеза 5секунди
сън 5
изхвърленЗавършен

Стартирайте файла с командата bash.

$башsleep_example.sh

Можете да проверите следната връзка, за да научите повече за командата за заспиване.

https://linuxhint.com/sleep_command_linux/

Отидете на върха

Надявам се, че след като прочетете тази статия, имате основна концепция за bash скриптовия език и ще можете да ги приложите въз основа на вашите изисквания.