Pranešimai

Rodomi įrašai su etikete „Debian

Automatinis didelio kiekio failų siuntimo per Telegram skriptas

Vaizdas
 Įvadas Prieš pradedant detaliai nagrinėti šį scenarijų, norėčiau paminėti, kad jau perkėliau savo tinklaraštį iš wordpress.com , nes gavau nusiskundimų dėl pernelyg didelio reklaminių partnerių kiekio mano tinklaraštyje. Taip pat nusprendžiau, kad komentarus skriptuose rašysiu anglų kalba. Tai ne tik pagerins mano anglų kalbos įgūdžius, bet ir padės kitiems programuotojams lengviau suprasti mano kodą. #!/bin/bash # Įkelkite konfigūracijos failą (naudokite pilną arba reliatyvų kelią) # Load the configuration file (use full or relative path) CONFIG_FILE="$(dirname "$0")/config.sh" if [ ! -f "$CONFIG_FILE" ]; then echo "Config failas nerastas: $CONFIG_FILE" # Configuration file not found exit 1 fi source "$CONFIG_FILE" echo "Naudojamas config.sh failas: $CONFIG_FILE" # Using config.sh file echo "chat_id: $chat_id, bot_token: $bot_token" chat_id="$group_chat_id" # Nurodytas ka

Persikeliant skriptus į naują Debian kompiuterį: kaip užtikrinti, kad visi reikalingi įrankiai bus įdiegti

 Persikeliant skriptus į naują kompiuterį, dažnai susiduriame su problema, kad skriptai neveikia tinkamai arba iš viso neveikia dėl trūkstamų programų. Tai ypač aktualu naudojant Debian ar kitą Linux distribuciją, kurioje gali nebūti visų skriptuose naudojamų programų. Šiame straipsnyje aptarsiu, kaip automatizuoti šį procesą ir užtikrinti, kad visi reikalingi įrankiai būtų įdiegti naujoje sistemoje. Problemų diagnostika Keliant skriptus į kitą kompiuterį, pastebėjau, kad daugelis jų neveikia dėl trūkstamų programų, tokių kaip zenity , kdialog , jq ir t.t. Norint, kad skriptai veiktų, reikia įsitikinti, kad visos šios programos yra įdiegtos naujoje sistemoje. Sprendimo planas Tam, kad išspręsti šią problemą, sukūriau du Bash skriptus. Pirmasis skriptas suranda visas naudojamas programas .sh failuose, esančiuose tam tikrame kataloge, ir išsaugo jas į failą. Antrasis skriptas naudoja šį sąrašą, kad įdiegtų trūkstamas programas naujoje sistemoje. Skriptas prog

Regex į pagalbą dataview

Vaizdas
  Įvadas Šis įrašas yra apie labai specifinį Bash skriptą, kurį sukūriau savo asmeniniams poreikiams. Nors jis gali būti naudingas nedaugeliui, man pačiam jis yra itin vertingas ir palengvino tam tikrų duomenų apdorojimą. Skriptas yra skirtas apdoroti tekstinius failus, kuriuose pateikiama informacija apie komunalinius mokesčius, ir sukurti markdown ( .md ) failus su tinkamai formatuota informacija ‘dataview’ įskiepiui Obsidian programoje. Problemos aprašymas Turėjau tekstinius failus su informacija apie įvairius komunalinius mokesčius, kuriuos norėjau apdoroti ir perkelti į markdown formatą. Tekstiniai failai turėjo pavadinimus ir sumas, tačiau aš norėjau juos transformuoti į kitokį formatą bei pridėti keletą papildomų žymų ( tags ). Taip pat reikėjo pakeisti kai kuriuos pavadinimus į sutrumpintas versijas. Sprendimas Bash skriptas, kurį sukūriau, atlieka šiuos veiksmus: Skaito įvesties failus iš nurodyto katalogo. Naudoja reguliariąją išraišką ( regex

Pasirinktinio teksto įterpimo įrankis. Tik vienas shortcut!

Vaizdas
  Vieną ramų kažkurios dienos rytą, gurkšnodamas kavą ir be tikslo naršydamas Mastodon tinkle, užtikau diskusiją. Žmonės dalinosi savo produktyvumo patarimais, ir viena tema patraukė mano dėmesį: dažnai naudojamų teksto fragmentų valdymas. Daug kas skundėsi, kad nuolat rašo tuos pačius sakinius ar frazes – ar tai būtų mandagūs el. laiškų užbaigimo žodžiai, ar dažnai naudojamos kodo eilutės. Staiga supratau, kad ir pats susidūriu su šia problema. Kiek kartų per dieną rašau “Pagarbiai“ arba “Su geriausiais linkėjimais“ el. laiškuose? O kiek kartų įvedu savo kontaktinius duomenis ar tam tikras SQL užklausas? Per daug, kad skaičiuočiau. Būdamas Linux entuziastas ir mėgėjas automatizuoti viską, kas juda, nusprendžiau: reikia tai išspręsti. Ir taip gimė mano mažas, bet galingas įrankis – pasirinktinio teksto įterpimo scenarijus. Problemos esmė Prieš nerdamas į techninę dalį, apibrėžkime problemą: Dažnai naudojame tuos pačius teksto fragmentus. Šių fragmentų perr

Viskas, ko reikia jūsų sistemai viename scenarijuje. bashrc funkcija

Vaizdas
 Šiandien mano scenarijų pristato ir komentuoja GPT-4o Automatizacija yra vienas iš kertinių IT specialistų įgūdžių, leidžiantis padaryti daugiau su mažiau pastangų. Šiame straipsnyje aptarsime vieną galingą bash scenarijų, kuris sujungia kelias svarbias užduotis į vieną, taip palengvinant kasdienį darbą. Pažiūrėkime, ką ši funkcija daro, kodėl ji yra naudinga ir ką dar būtų galima patobulinti. Funkcijos apžvalga Ši bash funkcija, pavadinta viskas() , yra skirta automatizuoti kelias dažnai atliekamas užduotis vienu metu. Štai ką ji daro: Orų prognozės išvedimas į failą : ./o.sh > "$HOME/Obsidian/notes/Oras.md" 2>/dev/null & Orų prognozė išvedama į failą foniniu režimu. Failų išskirstymas iš “Atsiuntimai“ katalogo : if ! ~/git/md.sh; then return 2 fi echo -e "OS: $(lsb_release -ds)" echo -e "Kernel: $(uname -r)" echo -e "Uptime: $(uptime -p)" Čia scenarijus i škviečia kitą scenarijų,

Išsibastėlis: Tavo Asmeninio Gyvenimiuko Backup’intojas

  Šiandien mano scenarijų apžvelgia ir pristato šmaikštuolis Cla ude . Pavadinimą sugalvojo irgi jis Visi mes turime savo mažus bailius sūriukus asmeniniams reikalams tvarkyti. Įvairūs konfigūracijos failai, skriptai ir užrašai, kurie padeda mums išlaikyti proto higieną ir produktyvumą. Bet kas nutiks, jei staiga tavo komputeris pradės rūgštinti ir išgers savo paskutinį duonos riekės kvapą? Būtent tam ir yra šis sumanus mažylis bash scenarijus! Jis yra tarsi tavo asmeninių dalykų sargybinis, kuris nuolat stebi ir užtikrina, kad visi tavo kruopščiai sukurti šedevrai bus saugūs ir gyvens amžinai (arba bent jau tol, kol “GitLab“ nepradės vogti mūsų pinigų). Kaip jis veikia: Nustato kelis kintamuosius, tokius kaip tavo namų katalogas ir git repo vieta. Sukuria failų sąrašą, kuriuos nori nukopijuoti ir išsaugoti. Pereina į namų katalogą (kažkodėl). Ciklu kopijuoja nurodytus failus į git repo vietą. Jei failas nerastas – paprasčiausiai praneša tau apie tai. Pereina į g

Šaunus kamandų paleidėjas ir failų chmod įrankis

Šį bash scenarijų sukūriau tam, kad leistų vartotojui lengvai pasirinkti ir paleisti iš anksto nustatytas komandas iš tekstinio failo arba vykdyti papildomus veiksmus, pvz., pakeisti failų leidimus naudojant chmod . Veikimo principas: Pradžioje, scenarijus nuskaito komandas iš nurodyto tekstinio failo, kuris yra pasirinktas naudotojo. Vartotojui pateikiamas sąrašas galimų komandų iš tekstinio failo (pridėjau dar ir masyvą papildomai komandoms papildyti tiesiog skripte) ir jis gali pasirinkti, kurią komandą nori paleisti. Jei vartotojas pasirenka chmod +x , scenarijus rodo visus .sh failus esančius tame pačiame kataloge ir leidžia vartotojui pasirinkti, kuriam iš jų nori pritaikyti chmod +x . Pasirinkus komandą, vykdoma ji, o jei pasirinkta chmod +x , pritaikomas chmod pasirinktam failui. Kilmės šaltiniai: Scenarijus nuskaito pagrindines komandas iš tekstinio failo, kuris yra pasirinktas naudotojo. Papildomas funkcionalumas, susijęs su chmod

Atsisiuntimų aplanko organizatorius: tvarkinga failų sistema vienu paspaudimu

Ar kada nors jautėtės pasimetę Atsisiuntimų aplanko chaose? Daugelyje iš mūsų kompiuterių šis aplankas tampa laikina saugykla įvairiems failams, nuo dokumentų ir muzikos iki vaizdų ir archyvų. Šiandien pristatau paprastą, bet galingą įrankį, kuris padės suvaldyti šią netvarką ir sutaupyti jūsų laiką. Kas tai yra? Tai Bash scenarijus, pavadintas Atsisiuntimų aplanko organizatorius. Jis automatiškai rūšiuoja failus iš Atsisiuntimų aplanko į atitinkamus katalogus pagal jų tipą. Pradžioje, šį scenarijų pasidariau, kad iškeltų .md failus į Obsidian notes, bet vėliau supratęs, kaip tai patogu, patobulinau scenarijų ir dabar surūšiuoja daugybę kitų failų tipų, dažnai sutinkamų Atsisiuntimų aplanke. Kaip jis veikia? Scenarijus pirmiausia patikrina, ar Atsisiuntimų aplanke yra .md failų. Jei taip, jis perkelia juos į Obsidian/notes katalogą. Tada jis iškviečia move_files funkciją, kuri apdoroja kitų tipų failus. move_files funkcija gauna sąrašą plėtinių ir paskirties katalogo kaip argumentus. J

Atsisveikinimas su neofetch: Įdiegiame naująją „Fastfetch“ versiją

Vaizdas
  Deja, „Fastfetch“ nėra įtraukta į oficialią Debian repozitoriją. Tai reiškia, kad norint ją įdiegti, negalite naudoti paprastos apt-get komandos. Vietoj to, reikia atsisiųsti programos paketą rankiniu būdu iš interneto. O jai atnaujinti ir reikalingas šis scenarijus Scenarijus atlieka šiuos veiksmus: Patikrina dabartinę versiją: Naudoja dpkg-query įrankį, kad gautų įdiegtos „Fastfetch“ versijos numerį, jei tokia yra. Atsisiunčia naujausią versiją: Jei „Fastfetch“ neįdiegta arba yra sena versija, scenarijus naudoja wget įrankį, kad atsisiųstų naujausią paketą iš oficialios svetainės. Patikrina atsisiuntimo vientisumą: Įsitikina, kad atsisiųstas paketas yra nepažeistas ir tinkamas diegimui. Išgauna versijos numerį: Naudoja dpkg-deb įrankį, kad iš atsisiųsto paketo išgautų naujausios versijos numerį. Palygina versijas: Jei atsisiųsta versija naujesnė nei įdiegta, scenarijus pereina prie diegimo etapo. Įdiegia „Fastfetch“: Naudoja sudo dpkg -i komandą, kad įdiegtų ats