Dlaczego SOMETHING=1 && echo $SOMETHING
musi &&
wrócić? 1
Dlaczego nie SOMETHING=1 echo $SOMETHING
zwraca?1
Dlaczego SOMETHING=1 && echo $SOMETHING
musi &&
wrócić? 1
Dlaczego nie SOMETHING=1 echo $SOMETHING
zwraca?1
Odpowiedzi:
Ponieważ bash dokonuje interpretacji zmiennych przed interpretacją instrukcji przypisania zmiennych. Ponieważ COŚ nie zostało wcześniej zdefiniowane, polecenie staje się…
SOMETHING=1 echo ''
… Następnie zostaje stracony.
eksport i echo w tym samym czasie
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:~#
Kolejny lepszy przykład xD
root@kali:~# echo ${SOMETHING=1} ${PLUS=+} ${SUMTHIN=2} ${EQUALS==} && expr $SOMETHING $PLUS $SUMTHIN
1 + 2 =
3
root@kali:~#