Sto scrivendo uno script di shell per semplificare il mio flusso di lavoro di sviluppo.Perché viene visualizzato un errore "Unario operatore previsto"?
Ci vuole un argomento su quale cartella dei temi sto per lavorare e inizia grunt watch
su quella directory.
Se chiamo lo script senza l'argomento necessario, sto attualmente stampando un avviso che un tema deve essere specificato come argomento della riga di comando.
Vorrei stampare un elenco delle opzioni disponibili, ad es. directory a tema
Questo è quello che ho finora ...
THEME=$1
if [ $THEME == '' ]
then
echo 'Need to specify theme'
else
cd 'workspace/aws/ghost/'$THEME'/'
grunt watch
fi
Idealmente mi piacerebbe sostituire l'uscita della linea echo
con una ls
della directory temi genitore in questo modo
THEME=$1
if [ $THEME == '' ]
then
echo 'Need to specify theme from the following'
ls workspace/aws/ghost
else
cd 'workspace/aws/ghost/'$THEME'/'
grunt watch
fi
Tuttavia questo mi dà il seguente errore
./ghost_dev.sh: line 3: [: ==: unary operator expected
Dovresti usare '-z' per cercare una variabile vuota:' if [-z "$ THEME"] '. – Kevin
modificato il titolo, proverò con '-z' – Luke
' se [[-z "$ THEME"]] 'funziona perfettamente - grazie. – Luke