Ho scritto il seguente script BASH:
Codice: Seleziona tutto
#!/bin/bash
#
# Questo script utilizza Imagemagick® creare una immagine contenente un testo
# 1) La cartella di lavoro è quella in cui vuole creare l'immagine da sovrascrivere.
# 2) Salvare questo script nella cartella di lavoro, col nome "scriptCreaTesto2.txt".
# 3) Assicurarsi che questo script sia eseguibile.
# 4) Impostare le variabili seguenti secondo il risultato che si vuole ottenere.
# 5) Aprire un terminale nella cartella di lavoro ed impartire il comando "./scriptCreaTesto2.txt".
#
# Inizio istruzioni BASH.
# Impostazione variabili.
Magick0='convert' # Con Imagemagick® 6 o precedenti, togliere il commento a questa riga.
# Magick0='magick' # Con Imagemagick® 7 o successive, togliere il commento a questa riga.
#
Out0='Testo2.jpg' # Nome ed estensione del file contenente testo.
Testo0='Contenuto \ndel \ntesto da inserire' # Contenuto del testo da inserire.
Sf0='Green' # Colore dello sfondo del testo (''=default='White'=BIANCO).
Font0='DejaVu-Sans' # Nome del font di caratteri da utilizzare (''=default).
AltCar0='48' # Altezza del font di caratteri da utilizzare (''=default='12').
ColCar0='Cyan' # Colore del testo (''=default='black'=NERO).
ColBor0='red' # Colore del bordo del testo (''=default).
DimBor0='1' # Spessore del bordo del testo (''=default).
PosTest0='Center' # Giustificazione del testo (''=default='West'=SINISTRA).
#
# Ridefinizione contenuto variabili.
if [[ -n "$Sf0" ]] # Verifica se la variabile Sf0 ha un contenuto
then
Sf0=" -background "$Sf0
fi
if [[ -n "$Font0" ]] # Verifica se la variabile Font0 ha un contenuto
then
Font0=" -font "$Font0
fi
if [[ -n "$AltCar0" ]] # Verifica se la variabile AltCar0 ha un contenuto
then
AltCar0=" -pointsize "$AltCar0
fi
if [[ -n "$ColCar0" ]] # Verifica se la variabile ColCar0 ha un contenuto
then
ColCar0=" -fill "$ColCar0
fi
if [[ -n "$ColBor0" ]] # Verifica se la variabile ColBor0 ha un contenuto
then
ColBor0=" -stroke "$ColBor0
fi
if [[ -n "$DimBor0" ]] # Verifica se la variabile DimBor0 ha un contenuto
then
DimBor0=" -strokewidth "$DimBor0
fi
if [[ -n "$PosTest0" ]] # Verifica se la variabile PosTest0 ha un contenuto
then
PosTest0=" -gravity "$PosTest0
fi
Testo0=" label:'"$Testo0"' "
#
# Composizione riga di comando.
C1=`echo $Magick0 $Sf0 $ColCar0 $ColBor0 $DimBor0 $Font0 $AltCar0 $PosTest0 $Testo0 $Out0`; echo $C1; eval $C1 # Mostra ed esegue il comando contenuto nella variabile $C1
Codice: Seleziona tutto
if [[ -n "$Var0" ]] # Verifica se la variabile $Var0 ha un contenuto
then
Var0=" -gravity "$Var0
fi
So che la cosa è possibile, ma non so come si fa a passare correttamente gli argomenti della funzione.
Qualcuno è in grado di fornirmi la sintassi corretta per la funzione e per le righe che la richiamano?
Ringrazio fin d'ora chi mi aiuterà.