Рассмотрим этот фрагмент:
$ SOMEVAR=AAA
$ echo zzz $SOMEVAR zzz
zzz AAA zzz
Здесь я установил $SOMEVAR
на AAA
в первой строке, и когда я повторяю его во второй строке, я получите содержимое AAA
, как и ожидалось.
Но тогда, если я попытаюсь указать переменную в той же командной строке, что и echo
:
$ SOMEVAR=BBB echo zzz $SOMEVAR zzz
zzz AAA zzz
... я не получу BBB
как я ожидал - я получить старое значение ( AAA
).
Так и должно быть? Если да, то почему тогда вы можете указать такие переменные, как LD_PRELOAD=/... аргументы программы ...
и заставить их работать? Что я упускаю?