[Bash] Concatenazione

$a=”foo”

$b=”${a}bar”

Non sia mai che me ne ricordi qualche volta…

Annunci

Ottenere il proprio IP pubblico da bash

Il servizio di whatismyip è scriptabile facendo un wget della pagina: http://www.whatismyip.com/automation/n09230945.asp

Rimuovere i tag html con sed

sed -e :a -e 's/<[^>]*>//g;/</N;//ba'

Fink su Leopard

Il famoso programma che porta il software linux su mac è difficilmente installabile su mac os x 10.5 se non compilandolo da sorgenti. Volendo una soluzione più semplice e meno error prone si può utilizzare un ottimo sostituto: MacPorts. Oltre ad essere utilizzabile da riga di comando, possiede un semplice installer in pkg. Inoltre esiste una comoda interfaccia grafica in cocoa di nome Porticus. Altro?!?

Cambiare l’estensione dei file

$old = "rtf";
$new =  "txt";

for i in `ls`; do mv $i `echo $i | sed s/$old/$new/g`; done 

Basholatrice

La nostra fidata shell è in grado anche di eseguire calcoli. Tale feature è utile sopratutto in fase di scripting. I calcoli in shell si effettuano inserendo i termini dell’operazione tra doppie tonde precedute dal simbolo dollaro:echo $((2+2)) Altro metodo è quello di passare l’operazione a “bc”: echo 2+2 | bc

Reverse history

Se si è scritto un comando e si vuole evitare di riscriverlo per intero basta cercarlo con le frecce up e down. Se tale comando si trova tra gli ultimi dieci l’operazione risulta abbastanza comoda, altrimenti si deve ricorrere ad altro:1) comando  history che mostra il contenuto di /home/utente/.bash_history2) entrare in reverse history mode digitando ctrl+r: la digitazione di qualsiasi carattere comporterà una ricerca nell’history e la visualizzazione del comando più recente che matcha quanto inserito.