Bash (un)usability: messaggio di errore errato !
La Bash shell di Gnu Linux e’ una potente interfaccia a linea di comando, e spesso permette di compiere operazioni molto piu’ rapidamente di quanto permettono le varie interfacce grafiche, come KDE e GNOME.
Altre volte pero’, la selezione dei parametri del comando richiede molto tempo, specialmente se i messaggi di errore non ci danno alcun indizio.
Quello che segue e’ un piccolo esempio di carenza di usabilita‘ della Bash, la shell di default di quasi tutte le distribuzioni GNU Linux.
Conosco bene il comando chmod, e come tutti i fans della Bash Shell lo uso da anni per cambiare i permessi a file e directory.
Qualche giorno fa, per poter aggiungere i permessi di lettura ed eseguzione alla directory my_directory in modo ricorsivo, ho eseguito il comando
chmod a+rx my_directory -r
la Bash ha risposto cosi’:
chmod: cannot access 'a+rx': No such file or directory
ho quindi pensato di correggere l’errore mettendo le opzioni dopo la directory, ho quindi riprovato:
chmod my_directory a+rx -r
stesso errore !
Dopo le piu’ svariate combinazioni di directory ed opzioni, mi sono accorto che il problema era -r:
l’opzione per la ricorsivita’ va posta in maiuscolo: -R,
Ovviamente e’ stato un mio errore, cio’ che comunque non trovo corretto e’ il messaggio di errore:
chmod: cannot access 'a+rx': No such file or directory
Il messaggio dovrebbe essere qualcosa del tipo 'parametro -r incorretto' !
Il parser dei parametri ha invece generato un messaggio di errore sbagliato, che svia l’utente dalla scoperta dell’errore.
I messaggi di errore hanno un ruolo importante nell’Usabilita’ dell’interfaccia e quello appena descritto e’ un esempio di carenza di usabilita’ della Bash Shell.
Ovviamente continuero’ ad usare la Bash
, che rimane una delle piu’ potenti e flessibili interfacce a linea di comando mai realizzate.
Se conoscete altri problemi o curiosita’ sull’usabilita’ della Bash shell, segnalateli pure !


diggita.it Said,
August 12, 2009 @ 9:55 pm
Bash (un)usability: messaggio di errore errato !…
La selezione dei parametri di un comando spesso richiede molto tempo, specialmente se i messaggi di errore non ci danno alcun indizio.
Quello che segue e’ un piccolo esempio di carenza di usabilita‘ della Bash, la shell di default di quasi tutte l…
Michelangelo Altamore Said,
November 1, 2009 @ 12:18 am
Ciao Ale, in realta’ penso che bash sia solo il messaggero e non c’entri granche’. L’errore lo emette chmod (e’ lui che parla prima dei due punti che precedono la descrizione dell’errore file non trovato). Per sapere perche’ bisogna capire la sua sintassi (man chmod per scoprirla):
SYNOPSIS
chmod [-fv] [-R [-H | -L | -P]] mode file …
chmod [-fv] [-R [-H | -L | -P]] [-a | +a | =a] ACE file …
chmod [-fhv] [-R [-H | -L | -P]] [-E] file …
chmod [-fhv] [-R [-H | -L | -P]] [-C] file …
chmod [-fhv] [-R [-H | -L | -P]] [-N] file …
Credo tu fossi nel primo caso. Non avendo passato opzioni prima del mode, si aspettava solo file dopo. Non mi spiego cmq come ti possa aver detto che cercava ‘a+rx’ come file… non e’ che ti diceva invece:
chmod: cannot access ‘-r’: No such file or directory
?
P.S.: In ogno caso se non ti piace bash prova zsh, non te ne pentirai
admin Said,
November 1, 2009 @ 10:44 pm
Ciao Michelangelo,
sono d’accordo con te, l’errore e’ generato dal chmod (comando della Bash).
L’errore e’ quello che avevo riportato:
“chmod: cannot access ‘a+rx’: No such file or directory”
questo messaggio mi ha sviato, facendomi credere che chmod volesse come primo parametro una directory.
Accetto il consiglio, provero’ al piu’ presto la ZSH
Ciao,
Ale