Francesco Romani <romani21@xxxxxxxxx> writes: > "with version 2.02 bash introduced the [[ ... ]] extended test command, which > performs comparisons in a manner more familiar to programmers from other > languafes. > Nothe that [[ is a keyword, not a command." Doh, non si finisce mai di imparare. Questa la infilo nella mia cassetta degli attrezzi. >> e i codici di ritorno che sono all'inverso del solito (== 0: >> success, > 0: failure). > > Per is_in_range e` voluto. La funzione ha un nome attivo, quindi se > verifica la condizione (success) dovrebbe tornare vero, quindi != 0. Questo proprio cercavo di dirti: se è `success', allora è == 0. >> ...usando i codici di ritorno convenzionali, sarebbe: >> profile_match && echo -e "\n$prof" && break > > OK, questo e` ignoranza mia, correggo. > (la forma idiomatica e` sempre preferibile) Ma affinché funzioni c'è appunto bisogno che si rispetti la convenzione di success == 0. >> Poiché lo stato è globale, per simmetria con gli altri profile_???, > > Lo stato: CURRENT_* e FOUND_*? Sì. > Perche` questa e` la prima stesura, e il design e` quick & dirty :) > Suggerimenti usando variabili locali sono molto ben accetti. No, penso che vada bene così come hai fatto. Lo script è piccolo e gestibile, e le variabili globali sono meglio di una sfilza di parametri per ciascuna funzione. Diverso discorso sarebbe se avessimo dati composti in bash, ma poiché non ne abbiamo... > Geek chiama, Geek risponde ;) :-))) -- Tip | Per avviare un programma grafico non c'è bisogno di caricare l'intero of | GNOME o KDE, infatti può bastare caricare il solo programma e il server the | grafico. Per esempio, se si vuole solo leggere un file PDF: day | 0013| $ xinit /usr/bin/xpdf file.pdf