Premetto che il messaggio e` molto lungo e che contiene alcune
digressioni...
On Sat, Apr 26, 2003 at 02:16:29AM +0200, Guldo K wrote:
> Ragazzi, ho un n-esimo problemino, e sono di nuovo qui.
> Mi sono scritto uno script per automatizzare il resampling dei file audio,
> eccolo qua:
Innanzitutto un suggerimento "generale": poiche' la shell e` ovviamente
il comando che si usa di piu` (anche solo perche' fa da "colla" tra
tutti gli altri comandi), secondo me il _primo_ manuale da leggere e`
proprio quello della shell stessa.
Ora sfrutto l'occasione di commentare lo script per dare qualche
suggerimento specifico.
> #!/bin/bash
>
> if echo $1 | grep -iq '\-h'
Problema classico: dare come *argomento* (e non come opzione) ad un
comando una stringa che inizia col carattere "-". In questo caso
particolare mettere '\-h' funziona perche' "\" e` un metacarattere per
grep, e la regular expression "\-" _matcha_ la stringa "-".
La soluzione canonica (e "giusta" anche secondo lo standard POSIX),
comunque, e` mettere la stringa "--" prima degli argomenti (e quindi
dopo le eventuali opzioni): "--" segnala ai parser che la lista di
opzioni e` finita e che tutto cio` che segue sono argomenti.
Quindi potresti voler trasformare il comando in
grep -iq -- -h