>
MENU

Gestire le password degli utenti con uno script bash

Android, uno stack per i sistemi mobile (3/3)

28 novembre 2007 Visualizzazioni: 896 Focus

Bash: trucchi e consigli

La Bash è un’interprete di comandi che permette di far comunicare via testo l’utente con il sistema operativo, in questo caso con GNU/Linux. Tra i vari comandi che possiamo impartire, ne esistono alcuni che sono particolarmente utili nei diversi casi che si possono incontrare.


Memoria della Bash persa
Può capitare di aver aperto il terminale e scrivere dei comandi, poi aprirne un altro e scrivere altri comandi. Il nuovo terminale aperto, però, non avrà memoria dei comandi digitati in quello precedente. Inoltre, una volta chiuso il primo terminale, i suoi comandi verranno persi e salvati soltanto quelli del secondo in uso. Questa situazione accade per un preciso motivo: l’history della bash viene salvato solo quando viene chiuso il terminale e non per ogni comando digitato.
Per aggirare questo problema, andremo ad editare il file .bashrc che si trova nella nostra Home directory.

Apriamo il terminale e digitiamo:

# gedit ~/.bashrc

Ed aggiungiamo alla fine del file queste due righe:

shopt -s histappend
PROMPT_COMMAND=’history -a’

Salviamo e chiudiamo gedit. Da questo momento in poi, il terminale avrà memoria di tutti i comandi digitati nei diversi terminali aperti.

Errori di distrazione
Per fare in modo che certi errori di battitura, come ect al posto di etc e similari, vengano ignorati, apriamo di nuovo il file .bashrc con gedit, ed aggiungiamo alla fine del file questa riga:

shopt -s cdspell

Eliminare i duplicati dalla bash
Può capitare di scrivere diverse volte lo stesso comando di fila e trovarsi nella memoria della bash tante volte lo stesso comando memorizzato. Per fare in modo che un comando ripetuto venga memorizzato solo una volta, apriamo il file .bashrc con gedit, ed aggiungiamo la seguente riga:

export HISTIGNORE=”&:ls:[bf]g:exit”

Righe multiple in una sola riga
Per fare in modo che i comandi scritti su più righe vengano memorizzati su di una sola, aggiungiamo al file .bashrc la seguente riga:

shopt -s cmdhist

Ricerca veloce dei comandi
Se non vi ricordate un comando, aprite il terminale e premete CTRL+R. In questo modo, potrete cercare velocemente ciò che state cercando!

Andare velocemente nell’ultima cartella visitata
Se volete andare in maniera rapida nell’ultima cartella visitata da terminale, apritelo e digitate:

# cd -

Una volta premuto INVIO, sarete spostati nell’ultima cartella visitata: comodo, no?

Questi sono pochi ma utilissimi trucchi. Se avete altri trucchi da segnalarci, non esitate a farlo!

ALTRE INFORMAZIONI:
Ultima versione disponibile: 3.2.25
Licenza: GNU/Gpl
Sito ufficiale: bash
Comandi di base: Riga di comando: guida alla sopravvivenza
Guida avanzata in italiano: Guida avanzata di scripting Bash
Articoli correlati: Articoli sulla bash

di Gianfranco Limardo - TuxJournal.net

twittergoogle_pluslinkedinmail
  • http://stato-brodo.blogspot.com Manuel

    nessun commento per bash?Oggi tutti co le GUI?w bash!

  • glaucos

    Io quando ho letto la parte dell’append all’history immediata ho detto “WOW!!!”
    Peccato che ora sia su un sistema win in ufficio e che la mia connessione a casa stia facendo le bizze in ‘sti giorni, se no avrei già fatto le modifiche :)

  • http://xenos.altervista.org/blogs/ furester

    domandina: tempo fa avevo modificato il comportamento predefinito del tasto PgUp in modo che andasse a ricercare in history l’ultimo comando con le iniziali corrispondenti a quello che ho digitato (si capisce?) .. il problema è che non ricordo dove avevo letto come fare e vorrei replicare la cosa su altri pc .. grazie!

  • Federico

    @furester
    Devi modificare il file /etc/inputrc togliendo il commento a queste due righe:
    # alternate mappings for “page up” and “page down” to search the history
    “\e[5~”: history-search-backward
    “\e[6~”: history-search-forward

  • Nymloth
  • http://xenos.altervista.org/blogs/ furester

    @Federico
    grazie mille! finalmente posso usarlo anche qui!

    @Nymloth
    probabile .. a ricordarselo in effetti .. :)

  • JoP

    molto interessante questo articolo, grazie!

  • paesano

    da me non sembra funzionare :

    shopt -s histappend
    PROMPT_COMMAND=’history -a
    e questo
    export HISTIGNORE=”&:ls:[bf]g:exit”

    ho un
    bash: :ls:[bf]g:exit”: command not found
    bash: -a’: command not found

    quando apro un shell

  • Luca

    Salve, io su ubuntu 7.1 non ho il file .bashrc nella mia home…
    come posso fare a impostare le modifiche che avete segnalato?
    Grazie

  • Luca

    Up