Utili script bach per Linux

Sommario
In bash è bene anche separare le cose, ad esempio le funzioni comuni a tutti i programmi, possono essere conservate in un unico insieme di librerie, per essere poi utilizzate da altri programmi.
In questo esempio, costruiremo un file di libreria in cui metteremo le nostre funzioni e un altro che utilizza questo file. La cosa da ricordare è usare i percorsi assoluti.
Creeremo per questo il nostro file di libreria, il nostro file di libreria che si troverà in un posto strategico per il suo utilizzo, in /usr/local/bin il nostro file si chiamerà libreriaBash.sh
Lo apriamo o lo creiamo con un editor di testo come Gedit o se sei un esperto con un semplice editor di comandi come nano o vi. All'interno possiamo inserire il seguente codice
 #! / bin / bash # File di librerie # Qui puoi dichiarare le variabili se vuoi. #Show system date and time function now {local timeNow local ret timeNow = $ (data + "% d /% m /% Y% H:% M:% S.% s") ret = $? echo $ timeNow} #Spegni il computer alle x time function shutdown {echo "Shutdown time (min):" read time sudo shutdown -h $ time} #Disinstalla un'applicazione, viene passata per parametro e richiede la disinstallazione della funzione utente root {sudo apt-get remove $ application} #se scrot è installato possiamo fare screenshot screenshot della funzione {scrot -e 'mv $ f ~ / Images / scrot / `date +% d-% m-% y_% H:% M: % S`_capture.png.webp '}

Dichiariamo le variabili locali alla funzione, se non lo facciamo, le variabili che corrispondono al nome saranno influenzate dalla funzione e viceversa.
Una volta terminato il file della libreria e senza dimenticare che deve avere attributi di esecuzione, creeremo il nostro programma che utilizzerà quella libreria.
Ora vediamo il contenuto del nostro file test2.sh
 #! / bin / bash # file test2.sh #include le librerie ./usr/local/bin/libreriaBash.sh mytime = $ (now) echo "esempio di output della funzione di libreria: $ mytime" echo "esempio due di funzione di libreria output: $ (ora) " 

Osserviamo anche che le funzioni possono essere utilizzate senza essere passate a una variabile.
Tieni presente che c'è poca differenza tra chiamare una bash per includerla nel nostro programma ed eseguire una bash all'interno di un'altra bash.
 #! / bin / bash # file test2.sh #include le librerie /usr/local/bin/libreriaBash.sh 

Quello che stiamo dicendo è eseguire il file
ora possiamo eseguire il file ./test2.sh
Quindi possiamo creare altri file di script e aggiungere funzionalità alle librerie create in precedenza, ad esempio possiamo invocare la funzione per catturare schermate che abbiamo già nelle librerie da un nuovo script images.sh
 #! / bin / bash # file .sh #include le librerie ./usr/local/bin/libreriaBash.sh acquisisce 

Le opzioni sono molte poiché un altro esempio di uno script bash include un download multiplo ma passando un file di testo come parametro
 #! /bin/bash ## chiamiamo wget e scarichiamo ciò che indichiamo con la velocità diciamo ## e nella cartella vogliamo clear echo "Puoi inserire un file di testo" echo "con gli indirizzi così: '-i file .txt '"sleep 2 echo -n" Inserisci l'indirizzo di download: "read download sleep 1 echo" La destinazione deve essere una cartella esistente sul tuo PC "echo -n" Inserisci la cartella di destinazione: "read destination sleep 1 echo "Velocità ​​è in kb o mb Es: 50k 1m" echo "o inserisci 0 (zero) per illimitato" echo -n "Inserisci velocità di download:" velocità di lettura sleep 1 wget -c --limit-rate = $ velocità -P $ destinazione $ download file = `basename $ download` ora = $ (data +% H:% M:% S) echo" Terminato il download di $ file in $ destinazione a $ ora "] sleep 3 

Il vantaggio è che possiamo avere più librerie per lavorare con file, directory, server, installare o disinstallare programmi, monitorare risorse o eseguire attività ripetitive senza dover inserire nuovamente tutto il codice.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave