Линук наредбе

Команда за замку басха

Команда за замку басха
Уграђена басх наредба која се користи за извршавање наредбе када љуска прими било који сигнал назива се 'замка'. Када се догоди било који догађај, басх шаље обавештење било којим сигналом. Многи сигнали су доступни у басх-у. Најчешћи сигнал басха је СИГИНТ (прекид сигнала). Када корисник притисне ЦТРЛ + Ц да би прекинуо било који процес са терминала, овај сигнал се шаље да обавести систем.  У овом водичу објашњено је како можете користити команду трап за руковање различитим врстама сигнала.

Синтакса:

замка [-лп] [[арг] сигнал_спец…]

или

замка [акција] [сигнал]
Кључ Опис
Користи се за приказ листе свих имена сигнала са одговарајућим бројем.
-стр Користи се за приказ сигналне наредбе или наредбе замке за сигнал_спец.
арг Користи се за извршавање наредбе када љуска прими сигнал (е).
сигнал_спец Садржи име или број сигнала.

Трап команда без икакве опције и арг

Покрените следећу наредбу са терминала да бисте приказали листу свих наредби повезаних са сваким условом. Ако било која наредба „замка“ није постављена пре, следећа наредба неће приказати никакве информације.

$ замка

Команда трап са опцијом -л

Покрените следећу команду са терминала да бисте приказали листу свих имена сигнала са бројем.

$ замка -л

Излаз горње наредбе ће приказати листу од 64 сигнала са бројевима.

Подесите трап наредбу за ЕРР и ЕКСИТ

Следећа прва наредба ће поставити наредбу 'трап' која ће се извршити када се догоди било која грешка у љусци или излазак из љуске. Ова наредба 'замка' ће се уклонити темп.ткт датотека са тренутне локације. Команда 'лс' користи се за проверу темп.ткт датотека постоји или не постоји на тренутној локацији. Најзад излаз наредба се користи за затварање терминала и извршавање наредбе 'трап' која је претходно постављена.

$ трап 'рм темп.ткт 'еррор еррор
$ лс
$ екит

Следећи излаз ће се појавити након покретања горе наведених наредби.

Сада, ако корисник поново отвори терминал након изласка и изврши тада команду 'лс' темп.ткт датотека неће постојати.

Подесите команду 'трап' са бројем сигнала СИГУП, СИГКУИТ и СИГКИЛЛ

Број сигнала СИГУП, СИГКУИТ и СИГКИЛЛ су 1, 3 и 9. Следећа прва команда поставиће замку за ова три сигнала. Када се појави било који од ових сигнала, тада се појављује порука „Изводи се команда трап”Ће штампати.  Покрените следећу команду са терминала.

$ трап 'ецхо Изведена команда за замку' 1 3 9

Када ће корисник притиснути Цтрл + Ц за генерисање доделе сигнала командом 'трап', а затим 'одјек' наредба трап наредба ће се извршити и појавит ће се сљедећи излаз.

Поставите наредбу 'трап' за СИГТЕРМ у скрипти

СИГТЕРМ сигнал се користи за тренутни прекид процеса ослобађањем његових ресурса. Направите басх датотеку под називом 'трапсцрипт.сх'са следећим кодом. У скрипти је проглашена бесконачна петља фор која ће непрекидно исписивати текст до СИГТЕРМ јавља се сигнал. Корисник мора да притисне Цтрл + З за генерисање СИГТЕРМ сигнал.

трапсцрипт.сх

#!/ бин / басх
 
# Поставите замку за СИГИНТ и СИГТЕРМ сигнале
трап "ецхо Програм је прекинут.„СИГТЕРМ ЗНАК
 
# Прикажи поруку за генерисање СИГТЕРМ
ецхо "Притисните Цтрл + З да зауставите процес"
 
#Инитиализовати променљиву бројача, тј
и = 1
 
#децларе бесконачно за петљу
за(;;)
урадите
# Штампање поруке бројачем и
ецхо „покретање петље за $ и пута“
# Повећај бројач за један
((и ++))
Готово

Покрените скрипту извршавањем следеће наредбе и притисните Цтрл + З да бисте је генерисали СИГТЕРМ сигнал. Појавиће се следећи слични излази.

$ басх трапсцрипт.сх

Поставите наредбу 'трап' за покретање функције засноване на одређеном сигналу

Наредбу „замка“ можете повезати са било којом кориснички дефинисаном функцијом. Направите басх по имену трапфунц.сх и додајте следећу скрипту. Овде се назива прилагођена функција фунц () је објављено да штампа једноставну поруку, „Задатак је завршен“. Укључена петља је дефинисана за читање и штампање листе свих датотека и директоријума тренутног радног директорија. 'замка' наредба која је дефинисана на почетку листе позваће функцију, фунц () када се програм заврши.

трапфунц.сх

#!/ бин / басх
# Позовите функцију функције на излазу
трап функц излаз
# Прогласите функцију
фунцтион фунц ()
 
ецхо "Задатак је завршен"

# Прочитајте датотеке и фасцикле са тренутне листе директоријума помоћу фор петље
јер ја у *
урадите
одјек "$ и"
Готово

Покрените скрипту са терминала.

Покрените скрипту.

$ басх трапфунц.сх

Следећи излаз то показује, „Задатак је завршен”Текст се штампа након штампања свих датотека и директоријума тренутног директоријума.

Закључак

Овај водич приказује како се наредба „трап“ може користити у Линуку за обављање било каквих аутоматизованих задатака заснованих на генерисаном сигналу. Корисницима помаже у праћењу различитих врста грешака и предузимању одговарајућих радњи које се претходно могу доделити помоћу ове наредбе. Многи програми или скрипте додељују неке одређене ресурсе када се изводе у систему. Ако било који покренут програм или скрипта абнормално изађе или се заврши, ресурси које користи тај програм су блокирани. За решавање овог проблема може се користити команда 'трап'. Задатак чишћења ресурса може се лако извршити помоћу ове наредбе. Надам се да ће читалац добити јасну представу о употреби ове наредбе након читања овог водича.

Како да промените леви и десни тастер миша на рачунару са Виндовс 10
Сасвим је нормално да су сви уређаји рачунарског миша ергономски дизајнирани за дешњаке. Али постоје доступни уређаји за миш који су посебно дизајнира...
Емулирајте кликове мишем лебдењем помоћу миша без клика у оперативном систему Виндовс 10
Коришћење миша или тастатуре у погрешном положају прекомерне употребе може резултирати многим здравственим проблемима, укључујући напрезање, синдром к...
Додајте покрете миша у Виндовс 10 помоћу ових бесплатних алата
Последњих година рачунари и оперативни системи су се увелико развили. Било је време када су корисници морали да користе команде за навигацију кроз мен...