Programmazione BASH

Come rendere BASH più adatto a te

Come rendere BASH più adatto a te
BASH ha una semplice configurazione standard che è ottima ma potresti volere di più! Molti utenti di computer evitano la riga di comando, perché è difficile da usare. Questo è un equivoco. La riga di comando ha una curva di apprendimento, richiede alcune conoscenze per iniziare. Tuttavia, se sai alcune cose, è più veloce e spesso più facile. Dopo aver appreso alcuni comandi di base, l'abilità assolutamente essenziale è leggere la documentazione. Potrebbe non sembrare un'abilità ma lo è. Il motivo è che i documenti sono generici, non risponderanno alla tua domanda specifica, devi derivare la risposta dalle informazioni che hai. Quando avvii il tuo ambiente, il sistema dispone di file che controllano quali saranno le impostazioni predefinite in molte applicazioni verranno impostate. Per bash, hai diversi file che lo controllano. Questi file in sequenza e solo se altri non esistono.

Cosa puoi cambiare?

Un sacco di cose, ma le modifiche che noterai per prime sono quelle che impostano il tuo prompt. Hai anche alias e variabili d'ambiente. Molti di questi sono impostati per assicurarsi di utilizzare le librerie e i file eseguibili corretti durante l'esecuzione delle applicazioni. I file controllano e aggiungono anche funzionalità alla shell, un esempio è la cronologia. In bash hai un file di cronologia che contiene gli ultimi comandi che hai inserito. Puoi scegliere se vuoi che la cronologia mantenga i duplicati e quanto grande diventa il file. Ci sono molte altre cose che puoi eseguire. Un bell'esempio di utilità è disponibile da bash-it.

Dove è conservato??

Sembra un semplice elenco di alcuni file che vengono eseguiti all'avvio. Tuttavia, a causa del modo in cui inizia bash, ci sono alcune complicazioni. Uno è che vuoi alcune impostazioni per il sistema e alcune per ogni volta che apri una shell. Il file /etc/profile viene eseguito durante il login, nota che spesso chiama /etc/profile.d/* per impostare valori specifici. Su Ubuntu, imposta i percorsi di snap, sia per dove si trovano i binari sia per dove xdg chiama le applicazioni. Questo file è a livello di sistema, quindi non usarlo per impostazioni personali. Per i file a livello di sistema hai anche ecc/bash.bashrc, questo file si chiama /etc/bashrc al di fuori delle distribuzioni basate su Debian. L'amministratore imposta, si spera sano di mente, i valori predefiniti per tutti gli utenti del sistema. Se non sei d'accordo con queste impostazioni, puoi sovrascriverle in ~.bashrc, per l'utente speciale.

So che potresti essere sia utente che amministratore! Il prossimo file che devi considerare è ~/.profile, viene eseguito all'accesso, non all'avvio della shell. Si avvia anche solo se .bashprofile o .bashlogin non esiste. La versione standard controlla quale shell verrà eseguita. Quando il .il file di profilo viene eseguito, si avvia ~/.bashrc se esiste. Il ~/.bashrc è dove dovresti impostare i tuoi alias e altre impostazioni personali. Altri due file sono interessanti, ~/.bashlogout e ~/.inputrc, il primo viene eseguito al logout. Cancella la console, per impostazione predefinita. Più interessante è il file inputrc. Qui cambi le associazioni dei tasti e i colpi dei tasti. Puoi impostare la modalità di modifica sulla riga di comando. L'impostazione predefinita è la modifica dello stile emacs ma puoi cambiarla in stile vi.

Alcuni esempi di modifiche da apportare.

Aggiorna il tuo messaggio... Per rendere il tuo messaggio più carino o per trasmettere più informazioni, puoi modificare i valori di PS1. Innanzitutto, puoi controllare quale valore hai già.

$ eco $PS1

Il risultato sembra un po' criptico a meno che tu non lo abbia impostato su una stringa. Provalo:

$ PS1 = "Cool Prompt!"

Questo non è molto utile, puoi invece impostare valori che ti informano su cosa sta succedendo nel tuo sistema. Ecco una breve tabella di alcuni valori:

\u Nome utente attuale
\h Nome host attuale
\w Directory di lavoro corrente
\S Nome della conchiglia
\t Ora in formato 24 ore

Come sfida, imposta il tuo prompt per avere il tuo nome utente e nome host, contrassegnati correttamente con la e commerciale. Puoi anche usare variabili definite dal sistema e persino l'output degli script. Imposta una combinazione di colori... Puoi avere il tuo output a colori e avere anche colori diversi per ogni tipo di file. Per prima cosa, crea un prompt colorato. Il colore può cambiare durante il prompt. Per iniziare un nuovo colore, aggiungi '\e[x,ym' och stoppa med '\e[m. Ecco un esempio.

$ PS1="\e[0;35m \[email protected]\h \e[m \e[0;32m \d \A\e[m \$ >"

umask, come funziona... Nella shell hai un'impostazione chiamata 'umask', imposta come vengono impostati i permessi dei file quando li crei. Il valore più comune è 022. Questo fa sì che i file abbiano autorizzazioni che consentono agli utenti di leggere e scrivere e a tutti gli altri di sola lettura. In questo modo, è necessario modificare i nuovi file di script in eseguibili come azione separata. Questo è un modo sicuro per gestire i file.

definizioni di funzioni... Puoi anche incorporare funzioni, il formato di queste può essere conforme a POSIX o bash. Se hai intenzione di passare da una shell all'altra, cerca come rimanere conforme. Puoi anche eseguire uno script nel prompt.

#!/bin/bash
# lsbytesum - il numero di byte in un elenco di directory
Byte totali=0
for Byte in $(ls -l | grep "^-" | awk ' print $5 ')
fare
TotalBytes=$TotalBytes+$Byte
fatto
TotalMeg=$(echo -e "\n$TotalBytes/1048576 \nchiudi" | bc)
echo -n "$MegTotale"

Se hai il codice sopra (credito a TLDP), puoi chiamarlo nel tuo prompt (PS1). Per impostarlo aggiungilo al tuo bashrc.

$ PS1="[\[email protected]\h:\w (\$(lsbytes) Mb)]\$ "

Ovviamente puoi eseguirlo manualmente per vedere se ti piace prima. Non ci sono colori in questo stile, devi combinare molte impostazioni diverse.

Una volta che hai deciso cosa vuoi, devi mettere i valori nel tuo .bashrc file.

Conclusione

Bash ha molte funzionalità che puoi usare per migliorare il tuo ambiente. Puoi fare molti lavori più velocemente se hai imparato ad essere efficiente. Un modo è creare alias, un altro è creare i propri script. Può essere molto vantaggioso per la tua efficienza, se ti prendi il tempo per superare la barriera iniziale.

Come controllare le porte aperte su Linux on
Il controllo delle porte aperte è tra i primi passi per proteggere il tuo dispositivo. I servizi di ascolto possono essere l'ingresso per gli aggresso...
Elenco di controllo per il rafforzamento della sicurezza di Linux
Questo tutorial enumera le misure di sicurezza iniziali sia per gli utenti desktop che per gli amministratori di sistema che gestiscono i server. Il t...
Tutorial Linux controllato Audit
Cos'è Auditd? Auditd è il componente in spazio utente del sistema di auditing di Linux. Auditd è l'abbreviazione di Linux Audit Daemon. In Linux, il d...