Perché SOMETHING=1 && echo $SOMETHING
deve &&
tornare 1
Perché non SOMETHING=1 echo $SOMETHING
ritorna1
Perché SOMETHING=1 && echo $SOMETHING
deve &&
tornare 1
Perché non SOMETHING=1 echo $SOMETHING
ritorna1
Risposte:
Perché bash fa l'espansione delle variabili prima di interpretare le istruzioni di assegnazione delle variabili. Quindi, poiché QUALCOSA non era stato precedentemente definito, il tuo comando diventa ...
SOMETHING=1 echo ''
... quindi viene eseguito.
esportazione ed eco allo stesso tempo
root@kali:~# echo ${SOMETHING=1}
1
root@kali:~# echo $SOMETHING
1
root@kali:~# unset SOMETHING
root@kali:~# echo $SOMETHING
root@kali:~# echo ${SOMETHING=1}
1
root@kali:~#
Un altro esempio sciocco xD
root@kali:~# echo ${SOMETHING=1} ${PLUS=+} ${SUMTHIN=2} ${EQUALS==} && expr $SOMETHING $PLUS $SUMTHIN
1 + 2 =
3
root@kali:~#