Precedente: Funzione readfile, Su: Funzioni di tipo generale [Contenuti][Indice]
Michael Brennan propone il seguente modello di programma, da lui usato spesso:
#! /bin/sh awkp=' … ' specifica_programma_da_eseguire | awk "$awkp" | /bin/sh
Per esempio, un suo programma chiamato flac-edit
73 ha questa forma:
$ flac-edit -song="Whoope! That's Great" file.flac
flac-edit
genera in output il seguente script, da passare alla
shell (/bin/sh) per essere eseguito:
chmod +w file.flac metaflac --remove-tag=TITLE file.flac LANG=en_US.88591 metaflac --set-tag=TITLE='Whoope! That'"'"'s Great' file.flac chmod -w file.flac
Si noti la necessità di gestire gli apici nello script da passare alla shell.
La funzione
shell_quote()
li prepara nel formato richiesto.
SINGLE
è la stringa di un solo
carattere "'"
e QSINGLE
è la stringa di tre caratteri
"\"'\""
:
# shell_quote --- pone tra apici un argomento da passare alla shell function shell_quote(s, # parametro SINGLE, QSINGLE, i, X, n, ret) # variabili locali { if (s == "") return "\"\"" SINGLE = "\x27" # apice singolo QSINGLE = "\"\x27\"" # apice singolo incapsulato n = split(s, X, SINGLE) ret = SINGLE X[1] SINGLE for (i = 2; i <= n; i++) ret = ret QSINGLE SINGLE X[i] SINGLE return ret }
I
file con suffisso flac contengono normalmente dei brani musicali.
metaflac
è un programma che permette di modificare
le informazioni [metadati] contenute all’inizio di un file di tipo
flac.