In questo script ho trovato questo if
espressione:Cosa significa il valore -z in un'espressione if su uno script Linux?
if [ -z $1 ]; then
echo "Usage: createpkg.sh <rev package>"
exit
else
CURRENT_VERSION=$1
fi
mio problema è che non riesco a trovare che cosa significa esattamente questo valore -z
.
Dal contenuto dell'eco posso dedurre che (forse) la variabile $1
rappresenta la versione del sotware. e quello (forse) -z
è un valore nullo. Quindi se eseguo lo script senza passare ad esso la versione del software che vorrei impacchettare, stampami la procedura corretta per eseguire lo script.
Ma non sono sicuro del vero significato del valore -z
.
Come nota a margine, probabilmente si dovrebbe racchiudere la variabile tra virgolette. 'if [-z" $ 1 "];'. Non ricordo il motivo esatto (qualcuno?), Ma in alcuni casi non può comportare comportamenti indesiderati. – aspyct
Sì, @ Antoine_935, sarà problematico se la variabile contiene uno spazio. Diventerà 'if [-z hello world]' che 'bash' non sarà in grado di capire. – fedorqui