Visualizzazione post con etichetta bash. Mostra tutti i post
Visualizzazione post con etichetta bash. Mostra tutti i post
| 0 commenti ]

Avete appena scritto la vostra password supersegreta per accedere a RHN (magari usando rhn-channel...) e non volete cancellare tutta l'history.
Si può fare.
Così:

1. Individuare la/le riga/he che vi interessa rimuovere lanciando il comando history senza opzioni
2. Usare il comando history con l'opzione -d più il numero della riga da cancellare
history -d 340
3. Salvare la modifica appena fatta
history -w

| 1 commenti ]

Semplice:

export no_proxy=localhost,127.0.0.0,10.102.10.204

| 0 commenti ]

Mi vergogno un po' ma l'ho scoperto solo ora, se si vogliono "greppare" più stringhe con un unico comando si può usare egrep come nell'esempio seguente:
egrep "Manzoni|Foscolo" autoriPoco utile, uff...

| 1 commenti ]

Un giorno potrebbe capitare anche a voi di dover cancellare un file che si chiama -qualchecosa (proprio così: col "-" davanti!)

 Si fa così:

rm ./-qualchecosa

| 0 commenti ]

Non sempre è necessario tenere traccia di tutto quello che succede durante l'esecuzione di un nostro script. Per annichilire tutti i messaggi di output e di errore la sintassi da utilizzare è questa:
./esempio.sh > /dev/null 2>&1 In pratica diciamo alla shell che vogliamo che lo standard output finisca in /dev/null e che lo standard error (file descriptor 2) finisca proprio là dove finisce lo standard output.

| 4 commenti ]

Se abbiamo la necessità di cancellare completamente l'history, vale a dire lo storico dei comandi che abbiamo impartito attraverso la shell, possiamo utilizzare il builtin history così:

history -c Se siamo un pochino paranoici ma non vogliamo privarci della comodità di avere quantomeno l'history per la sessione corrente, possiamo decidere di cancellare tutto una volta chiusa la shell.
Per cancellare l'history al logout dobbiamo aprire (o eventualente creare) nella nostra directory home il file .bash_logout
vi ~/.bash_logout E aggiungerci esattamente lo stesso comando che abbiamo visto prima history -c

| 0 commenti ]

Ecco una serie di test molto comuni quando si scrivono script di shell.

Il file esiste? [-e]
if [ -e /bin/bash ]; then...
Il file è un link simbolico? [-h o -L]
if [ -h /lib/libz.so.1 ]; then...
La directoty esiste? [-d]
if [ -d /tmp ]; then...
Se ci interessa eseguire più di un test in un unico passaggio, ad esempio potremmo voler sapere se il file è scrivibile [-r] e leggibile [-v] dal nostro utente, dovremo usare un comando simile a questo:
if [ -r /tmp/test -a -w /tmp/test ]; then...
In questo caso con il -a aggiungiamo un'altra verifica.

Per l'elenco completo dei test che si possono effettuare in Bash vi rimando ai sempre ottimi appunti di informatica libera.

| 0 commenti ]

Mi è appena capitato di dover ordinare una lista piuttosto lunga di indirizzi ip. Si sa che il sysadmin di suo è fondamentalmente pigro, quindi nessuna voglia di farlo a manina. Dopo aver spulciato le pagine man di sort, ecco il comando che ne è venuto fuori:

sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n lista_di_ip
Una righetta facile facile da ricordare, non trovate? Proviamo a capire un po' più in dettaglio che cosa fa.

  • Con il -t diciamo che vogliamo usare come separatore dei campi il punto (.)
  • Il -k serve a specificare la chiave di ordinamento, ne specifichiamo più di una in cascata: prima ordiniamo il campo uno fino al primo punto, poi il campo due e via di seguito.
  • -k 1,1n significa appunto dal primo campo (1) al (,) primo campo (1) effettua un ordinamento numerico (n). Lo stesso vale per il resto del comando.