Pranešimai

Rodomi įrašai su etikete „Programavimas

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

999 įdomūs faktai jūsų terminale su Bash scenarijumi

Vaizdas
  Kai paleidžiu pagrindinę funkciją, kuri aprašyta čia , vienoje vietoje tenka luktelėti, kol į Obsidian susikels reikalinga informacija iš interneto. Taigi tuo metu spėju paskaityti kokį nors įdomų faktą, nes ir šį scenarijų išsikviečiu būtent tada, kai tenka keliolika sekundžių panuobodžiauti. Kam skirtas šis scenarijus? Šis Bash scenarijus skirtas tiems, kurie mėgsta sužinoti naujų įdomių faktų. Scenarijus atsitiktinai parenka vieną eilutę iš jūsų pateikto teksto failo ir ją atspausdina. Tai gali būti naudinga, jei norite praplėsti savo žinias, atsipalaiduoti arba tiesiog praskaidrinti laukimo laiką dirbant su terminalu. Kaip veikia šis scenarijus? Scenarijus veikia labai paprastai. Jis naudoja kelias pagrindines bash komandas, kad atsitiktinai parinktų eilutę iš pateikto failo : Patikrina, ar failas egzistuoja. Suskaičiuoja eilučių skaičių faile. Pasirenka atsitiktinį eilutės numerį. Naudojant sed , atspausdina pasirinktą eilutę. Scenarijus:   #!/bin/

Pradėkime nuo pradžių: skriptas, kuris kuria skriptus

Vaizdas
  Kai pradėjau mokytis rašyti bash skriptus, greitai supratau, kad reikia sistemingo metodo. Kaskart kurdamas naują skriptą, turėdavau jį pavadinti, suteikti vykdymo teises, sukurti alias ir atidaryti redaktoriuje. Tai tapo rutina, ir kaip bet kuri rutina, ji prašėsi automatizavimo. Taip gimė mano pirmasis ir, ko gero, svarbiausias skriptas – skriptas, kuris kuria kitus skriptus. Versija 1: Klasikinis terminalas Pradėjau nuo klasikinio terminalo varianto. Štai skriptas, pavadintas create_script.sh : #!/bin/bash # Klausiame vartotojo failo pavadinimo read -p "Įveskite failo pavadinimą (be .sh plėtinio): " filename # Sukuriame failo kelią script_path="$HOME/git/${filename}.sh" # Sukuriame failą touch "$script_path" # Suteikiame vykdymo teises chmod +x "$script_path" # Sukuriame alias echo "alias $filename='$script_path'" >> "$HOME/.bash_aliases" # Perskaitome .bash_aliases failą iš naujo source

Failų įkėlimo scenarijus į file.io naudojant Bash ir cURL

Vaizdas
  Šiame įraše apžvelgsiu paprastą Bash scenarijų, kuris leidžia patogiai įkelti failus į “ file.io “ platformą. Scenarijus naudoja cURL įrankį failo siuntimui ir jq įrankį JSON atsakymui apdoroti. #!/usr/bin/env bash # Funkcija patikrinti interneto ryšį pingindama google.com checkInternet() { if ! ping -c 1 google.com &> /dev/null; then echo "Klaida: Nepavyko prisijungti prie interneto." return 1 fi } # Funkcija įkelti failą su eigos juosta uploadFile() { local localPath=$1 # Pakeisti neleistinus simbolius failo pavadinime pabraukimo brūkšniais fileName=$(basename "$localPath" | sed 's/[^a-zA-Z0-9._-]/_/g') # Patikrinti, ar failas egzistuoja if [ ! -f "$localPath" ]; then echo "Klaida: Failas nerastas - $localPath" return 1 fi # Patikrinti interneto ryšį if ! checkInternet; then return 1 fi # Gauti failo dydį fileSize=$(stat -c%s "$localPath") # Pradėti rodyti eigos juost

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

Metų progresijos vizualizavimas „Bash“ skriptuose

Vaizdas
  Prieš keletą dienų naršydamas Mastodone pastebėjau kažkieno pabūstintą įdomų paveiksliuką, kuriame buvo vizualiai atvaizduotas metų progresas procentais. Šis vaizdas mane įkvėpė sukurti paprastą „Bash“ funkciją, kurią galėčiau integruoti į savo kasdieninius skriptus. Ši funkcija man padeda stebėti metų progresą, rodyti jį terminalo lange ir naudoti įvairiuose backup bei informacijos išvedimo procesuose. #!/bin/bash # Description: Parodo metų progresą # URL: https://funkcijos.wordpress.com/2024/05/28/metu-progresijos-vizualizavimas-bash-skriptuose/ metu_progresas() { local bar_length=${1:-40} # Numatytoji juostos ilgis yra 40, jei nenurodytas kitas local filled_color="\e[1;33m" # Ryškiai geltona spalva užpildytiems simboliams local empty_color="\e[37m" # Balta spalva tuštiems simboliams local reset_color="\e[0m" # Numatytoji spalva # Gauti dabartinę dieną (metų dienos numeris) current_day=$(date +%-j) #

Scenarijus vaizdo įrašams į GIF konvertuoti: nuo paprasto iki magiško!

Vaizdas
Prieš pradedant, reikia įdiegti ffmpeg - programinę įrangą, kuri padarys visą magiją. Debian: sudo apt install ffmpeg Arch Linux: sudo pacman -S ffmpeg sudo zypper install ffmpeg sudo dnf install ffmpeg Ar kada nors norėjote paversti savo mėgstamiausius vaizdo įrašus į žavingas GIF animacijas? Žinoma, norėjote! Kas gi nenorėtų? Na, šiandien turiu jums dovaną - scenarijų, kuris tai padarys lengviau nei kada nors anksčiau! Scenarijaus anatomija: Šis scenarijus tarsi stebuklingas magas atlieka savo triuką etapais: 1. Pasirinkimas: Scenarijus atveria vaizdo įrašų katalogą ir parodo jums sąrašą, tarsi kviečiantis išsirinkti savo auką... atsiprašau, mėgstamiausią vaizdo įrašą. Jūs, tarsi galingas valdovas, pasirenkate norimą vaizdo įrašą ir scenarijus pasiruošęs magijai. 2. Tikrinimas: Scenarijus, atsargus kaip sargybinis, patikrina, ar tikrai pasirinkote vaizdo įrašą, o ne apgaulingą iliuziją. Jei ne, scenarijus perspėja jus ir atšaukia magiją. 3. Konve