Пример#1:
Направите басх датотеку са следећом скриптом. Када покренете скрипту, она ће се наставити све док корисник не притисне било који тастер. Скрипта ће чекати на унос корисника сваке 3 секунде и ако корисник не притисне ниједан тастер, одштампаће поруку, чекајући притисак на тастер .
#!/бин/басх
Избацио 'Притисните било које дугме да бисте наставили'
док [ истина ];урадити
читати -т 3 -н 1
ако [ $?=0 ];онда
излаз;
елсе
Избацио 'чекајући притисак на тастер'
бити
Готово
Покрените скрипту.
$басхкеи1.сх
Излаз:
Пример#2:
Направите басх датотеку са следећом скриптом. Бесконачна вхиле петља се користи у овом примеру која ће се завршити када корисник притисне „к“. Ако корисник притисне било који тастер без „к“, вредност променљиве бројача ће се повећати за 1 и одштампати вредност.
#!/бин/басхИзбацио 'Притисните' к 'за излаз'
цоунт=0
док:;урадити
читати -н 1до<&1
ако [[ $ к= к]];онда
принтф ' нОдустајање од програма н'
пауза
елсе
((цоунт=$ цоунт+1))
принтф ' нПоновите за$ цоунтпута н'
Избацио 'Притисните' к 'за излаз'
бити
Готово
Покрените скрипту.
$басхкеи2.сх
Излаз:
Пример#3:
Направите басх датотеку са следећом скриптом која ће обављати различите врсте задатака на основу тастера који је притиснуо корисник. Ако корисник притисне „1“, он ће додати два аргумента командне линије и одштампати. Ако корисник притисне „2“, тада ће одузети два аргумента командне линије и одштампати. Скрипта ће се непрекидно извршавати све док корисник не притисне „3“.
#!/бин/басхв1=1 УСД
в2=2 УСД
док:
урадити
Избацио '1. Додатак '
Избацио '2. Одузимање '
Избацио '3. Одустати'
Избацио -н „Тип 1 или 2 или 3:“
читати -н 1 -т петнаестдо
принтф ' н'
случају $ а у
1* ) Избацио '$ в1+$ в2=$ (($ в1+$ в2)) ';;
2* ) Избацио '$ в1-$ в2=$ (($ в1- $ в2)) ';;
3* ) излаз 0;;
* ) Избацио 'Покушајте поново.';;
есац
Готово
Покрените скрипту са две нумеричке вредности аргумента.
$басхкеи3.сх35 петнаестИзлаз:
Пример#4:
Направите басх датотеку са следећом скриптом. Скрипта ће се завршити када корисник притисне тастер ЕСЦ. Ова скрипта ће штампати тастере које корисник притисне све док не притисне тастер ЕСЦ.
#!/бин/басхусеринпут=''
Избацио 'Притисните тастер ЕСЦ да бисте изашли'
# прочитајте један знак
док читати -р -н1кључ
урадити
# иф инпут == ЕСЦ кључ
ако [[ $ кључ== $'И' ]];
онда
пауза;
бити
# Додајте кључ променљивој коју корисник притисне.
усеринпут+=$ кључ
Готово
принтф ' нУписали сте:$ усеринпут н'
Покрените скрипту.
$басхкеи4.схИзлаз:
Пример#5:
Направите басх датотеку са следећим кодом која ће чекати да тастер ЕНТЕР заврши скрипту. Скрипта ће узети име сервера као улаз и покушаће да пингује сервер на сваке 2 секунде. Ако команда пинг добије одговор од сервера, она ће прекинути скрипту приказивањем излаза, у супротном ће сачекати одговор корисника или тастер ЕНТЕР штампањем поруке, Покушавајући да се повеже са….
#!/бин/басхИзбацио 'Унесите адресу сервера коју желите да пингујете'
читатисервер
док ! пинг -ц 1 -н -ИН 2 $ сервер
урадити
Избацио 'Покушавам да се повежем са$ сервер'
Избацио 'Притисните [ЕНТЕР] да бисте прекинули'
читати -с -Н 1 -т 1кључ
ако [[ $ кључ== $' к0а' ]];# иф инпут == ЕНТЕР тастер
онда
излаз 0
бити
Готово
принтф '%с н' '$ сервертрчи'
Покрените скрипту.
$басхкеи5.схИзлаз:
Закључак:
Овај водич приказује како можете написати басх скрипту на различите начине који ће чекати да унос корисника изврши било који одређени задатак или прекине скрипту. Надам се да ћете након увежбавања горњих примера моћи да напишете скрипту на такав начин да може да сачека било који притисак на тастер и обави одређени задатак на основу тастера који је корисник притиснуо.