[IT] eldinopensiero: quando hai tanta nostalgia della Bash in ambiente Windows… :-(

Di recente, come avrete sicuramente letto qui, la piattaforma software/hardware principale su cui lavoro è cambiata radicalmente: da un notebook Apple sono passato ad un desktop con Windows Vista Business. Questo cambiamento presenta dei vantaggi (hardware radicalmente più potente e performante, postazione fissa, tutta la mia musica a portata di click e di iTunes, curiosità di approfondire un nuovo OS…) ma anche degli svantaggi: questa pillola di eldinopensiero tratta quest’ultimo caso.

Mac OS X, come sapranno i nerd maccofili all’ascolto, è un sistema operativo curato maniacalmente nei dettagli a tutti i livelli (livello principiante, livello utente medio, livello utente pro, livello utente nerd), perché frutto dell’ambizione di Jobs di creare il sistema operativo (ed, in senso lato, il computer) perfetto. Tra le varie chicche che questo OS presenta vi sono i numerosi “scripting layers“, letteralmente: “strati di scripting“, che è possibile sfruttare per interfacciarsi da linea di comando con le applicazioni Apple (e con molte altre di terze parti), strati, come se non bastasse, intercambiabili ed interoperabili in modo trasparente e nativo.

Il principale è l’Applescript, un linguaggio di scripting orientato agli oggetti, dalla sintassi molto simile alla lingua inglese (es. tell application “iTunes” to play track…) e integratissimo nel sistema: esso permette con estrema semplicità di compiere operazioni automatizzate scrivendo pochissime righe di codice e sfruttando le abilità già insite nei vari programmi.

Poi vi è la shell Bash, piccolo gioiello di filosofia Unix e rappresentante d’onore dello standard POSIX, che da decenni allevia le fatiche dei sys-admin di mezzo mondo.

Ve ne sarebbero altri di “scripting layers” (Perl, Python..), ma mi fermo qui, perché non è questo il succo di questo eldinopensiero. Vi basti sapere che tutti questi scripting layers sono intercomunicanti, per cui uno script che interagisce con iTunes via Applescript, che ne filtra i contenuti via comandi Bash e che formatta il tutto usando il Perl è un’operazione all’ordine del giorno su piattaforma Mac! Ed è anche abbastanza semplice da apprendere e da mettere in pratica rispetto all’apprendimento di un reale linguaggio di programmazione.

Ecco, è proprio questo che mi manca!
Abituato da 2 anni ad automatizzare tutta la mia vita ed ad avere piccoli scripts che alla pressione di un click o all’avvenire di un evento (es. inserimento di una determinata penna usb) svolgevano il lavoro per me, ritornare alla preistoria del mondo Windows è qualcosa di sconvolgente.

Ho leggiucchiato un po’ di cosine sulla nuova, rivoluzionaria Powershell di Windows Vista, ma non mi è parsa immediata come lo sono i comandi Bash (e se ne sono accorti anche loro, visto che hanno introdotto degli alias appositamente per gli unixiani – es. “ls” per “dir” etc).

Poi sono voltato verso Mr. MS-Dos, con cui avevo già avuto a che fare in passato (tuttora su uno dei miei pc girano dei batch files in formato .bat, fondamentali!), ma per svolgere compiti relativamente semplici rispetto a ciò che faccio su Mac con la shell Bash + Applescript.

Tutto ciò è davvero frustrante 😦
Spero di trovare un’alternativa o mi toccherà potenziare le mie scarse doti di programmazione 😦

Tanto per gradire, vi lascio ad un ciclo if-else scritto rispettivamente in Bash e in MS-Dos. Fanno la stessa cosa e funzionano entrambi egregiamente, ma secondo me il primo è nettamente più versatile, comprensibile e flessibile rispetto al secondo (che con quei GOTO fa molto Basic anni ’80).

In Bash:

if test $ipSconosciuto = $(echo “name_query”)
then echo “Non connesso.”
else echo “Connesso: ” $ipSconosciuto
fi

In MS-Dos:

IF (%ipSconosciuto%)==() GOTO UGUALI
echo Connesso: %ipSconosciuto%
GOTO END
:UGUALI
echo Non connesso.
:END

In pratica, questi due script, dato un indirizzo IP (es. 10.0.0.2), controllano se esiste:
– se sì, stampano a schermo: “Connesso: 10.0.0.2
– se no, stampano a schermo “Non connesso.

Niente di complesso, ma se già in queste cosuccie rimpiango la Bash…. 😦

Qualcuno dei miei progetti in Bash da scaricare, distribuiti sotto licenza GPL, li tovate qui.

Advertisements

Una risposta a [IT] eldinopensiero: quando hai tanta nostalgia della Bash in ambiente Windows… :-(

  1. Maelstrom ha detto:

    win-bash.sourceforge.net
    Vedi se può interessarti 🙂 (il sito con http me lo scarta l’antispam ^_^)

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: