UNIBZ fa un mooc per imparare la bash

http://www.unibz.it/en/public/university/NewsOverview.html?NewsID=116229&utm_content=buffer6a983&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer

Cosa ne pensate?

Patrick

attachment.htm (411 Bytes)

Può sembrare un argomento da preistoria, mentre è un tema importante. Coraggioso e lungimirante, mi alletta.
diego

attachment.htm (1.17 KB)

Iniziativa lodevole. Già inoltrata a diversi interessati.

Paolo.

Da suggerire ai tecnici R.9 di FUSS?

attachment.htm (1.29 KB)

PREISTORIA?!?! :open_mouth:

Diego, la prossima volta che ti vedo una pernacchia non te la toglie nessuno! :smiley:

Ciao,
Stefano

Ciao,
ormai l'inizio è gia stato fatto nel 2014. Avevo scritto alla lista che
abbiamo creato un channel su youtube su questo mooc e chiedevo feedback...

https://m.youtube.com/user/e3osvideos?feature=watch

Qualcuno trova la vecchia email? Non mi ricordo piu che cosa abbiamo
detto...

Cheers,
Peter

attachment.htm (1.36 KB)

Parlando di bash e storia, ho una domanda :slight_smile:

Spesso le bash ha diversi modi di fare la stessa cosa. La ragione sembra
essere storica. Per esempio espressioni aritmetiche!

Come calcolare 1+1? Non cosi`, ovviamente:
$ A=1+1; echo $A
1+1

Qualcuno lo fa cosi` - ma per esempio questo non va in altre shell compatibili Bourne, tipo la ksh:
$ A=$[1+1]; echo $A
2

Ma - sorpresa :slight_smile: - c'e` anche il famoso let!
$ let A=1+1; echo $A
2

E poi chiaramente la sintassi "moderna":

$ A=$((1+1)); echo $A
2
$ ((A=1+1)); echo $A
2

C'e` da qualche parte una specie di "changelog millenario", in cui si spiega
le cose? Magari in questo stile:

     "OK. Questo lo faceva gia la Bourne Shell. Quest'altro modo l'ha introdotto
      Bash 2 ed e` POSIX. Questo invece e` Bash 3, ed e` il modo consigliato
      oggi. Infine cosi` lo propone di recente (Bash 4), ma attenzione che altri
     (ksh) non lo sanno fare. ..."

Perl era stato criticato to hell and back per avere "there's more ways to
do it" (TM), invece per la bash, ognuno usa un modo diverso e sembra che
non freghi nulla a nessuno :slight_smile:

Summon: Thomas! :wink:

Bye,
Chrs.

Ciao,
ormai l'inizio è gia stato fatto nel 2014. Avevo scritto alla lista che abbiamo creato un channel su youtube su questo mooc e chiedevo feedback...

https://m.youtube.com/user/e3osvideos?feature=watch

Qualcuno trova la vecchia email? Non mi ricordo piu che cosa abbiamo detto...

Cheers,
Peter

Vero. Mi ricordo. Mi fa piacere che hanno continuato l'iniziativa.

La tua mail e` qui:

http://lists.lugbz.org/pipermail/lugbz-list/2014-April/021556.html

Bye,
Chris.

Parlando di bash e storia, ho una domanda :slight_smile:

Strani comportamenti della shell? Eccomi.

Qualcuno lo fa cosi` - ma per esempio questo non va in altre shell
compatibili Bourne, tipo la ksh:
$ A=$[1+1]; echo $A

Pure il manuale di Bash sconsiglia l'uso dell'espansione aritmetica
vecchia:

   The old format $[expression] is deprecated and will be removed in

upcoming versions of bash.

Ma - sorpresa :slight_smile: - c'e` anche il famoso let!
$ let A=1+1; echo $A

Famoso? Non lo conoscevo. :slight_smile:
Non vedo nessun motivo per preferire questo commando al $(()), a parte
che permette di calcolare più di una espressione in un commando singolo.
Pare che ksh e zsh supportino questo commando, ma la dash (che è la
default /bin/sh in Debian) non lo supporta.

E poi chiaramente la sintassi "moderna":

$ A=$((1+1)); echo $A
2

Il commando $(()) (Arithmetic Compound Command) è POSIX, e sarebbe la
sintassi preferita.

C'è anche expr, che è il metodo storico, che precede POSIX. Ed è un
piccolo gioiello che si comporta in modo completamente prevedibile:

$ A=`expr 1 + 1`; echo $A
2
$ A=`expr 1+ 1`; echo $A
expr: syntax error
$ A=`expr 1+1`; echo $A
1+1

All'università (ca. 1997) ci hanno insegnato expr, e non il commando
$(()).

Però (e adesso viene il mio pet hate): è facile pensare che se $(()) è
POSIX, lo sarà anche il commando [[. Non lo è. Il commando [[ è stato
introdotto dalla Bash come "/usr/bin/[ for dummies", cioè per chi non
riesce a ricordarsi di mettere le variabili dentro quotes.
Questo commando funziona con bash, ksh e zsh, ma non funziona con dash.

C'e` da qualche parte una specie di "changelog millenario", in cui si
spiega
le cose? Magari in questo stile:

Non che io sappia.
POSIX.1-2008 è definito qua
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html
Spesso basta sapere se un comando sia POSIX o no, per poter decidere se
si può usarlo o no.

Thomas

Strani comportamenti della shell? Eccomi.

Ottima spiegazione :slight_smile:
Grazie mille!

Bye,
Chris.

Stefano, rego, rileggi *bene* quello che scritto, grazie.
diego

attachment.htm (968 Bytes)