БАСХ програмирање

Копирајте списак датотека помоћу Басх скрипте

Копирајте списак датотека помоћу Басх скрипте
Басх (Боурне Агаин Схелл) је врста љуске која служи за извршавање наредби и скрипти. Басх је била развијена верзија сх шкољке. Басх Сцрипт је датотека у којој се скриптира више команди љуске за извршавање одређеног задатка. У овом чланку ћемо видети како можемо копирати више датотека помоћу басх скрипте. За овај чланак користим Убунту 20.04 да би се демонстрирао пример.

Напомена: - $ УСЕР ће исписати тренутна корисничка имена корисника који се пријављују.

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

$ басх --верзија

Излаз Басх верзије.

Креирање и извршавање Басх скрипте

Почнимо са стварањем једноставне датотеке помоћу било ког уређивача по вашем избору. За мене је ви едитор угоднији. Да бисмо датотеку учинили извршном, треба да додамо схебанг (!#) и басх локација тумача на почетку скрипте. Направио сам текст.ткт датотеку и додајте је у директоријум басх_демо у мом кућном директоријуму који садржи неки текст у демо сврхе.

$ додирни басх_демо.сх
$ ви басх_демо.сх

Додајте следеће редове у свој уређивач текста за пример демонстрације након креирања датотеке; ако нисте, уредник ће створити нову датотеку о писању и престанку рада.

#!/ бин / басх
цп текст.ткт / тмп /
ецхо „Датотека је копирана.”

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

$ ./ басх_демо.сх

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

Иницијално извршавање басх датотеке.

Када према заданим поставкама креирамо датотеку, корисник нема дозволу за извршење датотеке. Да би се кориснику пружила дозвола за извршење, мора се извршити следећа наредба.

$ цхмод + к басх_демо.сх

Излаз након одобрења.

Копирајте само датотеке из одређеног директоријума

За преузимање свих датотека и директорија са одређене путање, у скрипти ћемо користити фор петљу, а затим филтрирати једину датотеку користећи услов иф. У доњем примеру извршавамо команду цп која се извршава само ако је итератор била датотека која је утврђена -ф заставом.

#!/ бин / басх
дпатх = / вар / лог / нгинк / *
за ФИЛЕ у $ дпатх
урадите
ако [[-ф $ ФИЛЕ]]
онда
цп $ ФИЛЕ / хоме / $ УСЕР /
иначе
ецхо „На датој путањи нема датотека.”
фи
Готово

Копирајте све датотеке одређених екстензија

У овом примеру ћемо копирати све датотеке помоћу .лог ектенсион. Морамо додати *.пријавите се на путању тако да поновите једину датотеку са .екстензија дневника само за петљу.

#!/ бин / басх
за ФИЛЕ у / вар / лог / нгинк / *.Пријава
урадите
цп $ ФИЛЕ / хоме / $ УСЕР /
Готово

Копирајте све датотеке, укључујући директоријум

У овом примеру ћемо рекурзивно копирати све датотеке, укључујући директоријуме. За то једноставно треба додати команду -Р цп где -Р одређује рекурзивно дохватање директоријума.

#!/ бин / басх
за ФИЛЕ у / вар / лог / *
урадите
цп -Р $ ФИЛЕ / хоме / $ УСЕР /
Готово

Копирајте датотеке са корисничке путање

У овом примеру ћемо копирати датотеке из директоријума који је одредио корисник. Да бисмо то урадили, користићемо наредбу реад да бисмо од корисника затражили путању, а затим проверили да ли корисник даје путању до дир-а или не, што се помоћу услова -д означава у стању. Након верификације дир, користићемо фор петљу за итерацију свих датотека и дир унутар задате путање, а затим поново филтрирати једине датотеке користећи услов иф. Ако се услов подудара, извршиће се следећа цп наредба.

#!/ бин / басх
ецхо „Молимо вас да наведете пут до дир.”
читав пут
ако [[-д $ путања]]
онда
за ФИЛЕ у $ патх / *
урадите
ако [[-ф $ ФИЛЕ]]
онда
цп $ ФИЛЕ / хоме / $ УСЕР /
иначе
ецхо „На датој путањи нема датотека.”
фи
Готово
иначе
ецхо „Пут до директоријума је потребан“
фи

У свом кућном директоријуму имам следеће датотеке и директоријум.

Излаз при пружању путање до датотеке.

Излаз при пружању директне путање локације.

Након извршавања датотеке скрипте, можемо проверити излаз у предефинираном директоријуму скрипте. У мом случају сам копирао датотеку у свом кућном директоријуму и резултат је следећи.

Закључак

У овом чланку сазнајемо како копирати датотеке користећи басх скрипте. Можемо користити многе друге операције попут петље, иф-елсе итд. Басх скриптирање је ефикасније када радите са више наредби за извршавање одређених задатака. Надам се да ће вам се свидети овај чланак о копирању датотека помоћу басх скрипте.

Како приказати бројач ФПС-а у Линук играма
Линук гаминг добио је велики потицај када је Валве најавио Линук подршку за Стеам клијент и њихове игре 2012. године. Од тада су многе ААА и индие игр...
Како преузети и играти Сид Меиер'с Цивилизатион ВИ на Линук-у
Увод у игру Цивилизатион 6 је модерни поглед на класични концепт представљен у серији игара Аге оф Емпирес. Идеја је била прилично једноставна; започе...
Како инсталирати и играти Доом на Линук-у
Увод у Доом Доом серија настала је 90-их година након објављивања оригиналног Доом-а. То је био тренутни хит и од тог времена надаље серија игара је д...