Почему я не могу указать переменную среды и вывести ее в той же командной строке?

Рассмотрим этот фрагмент:

$ 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=/... аргументы программы ... и заставить их работать? Что я упускаю?

83
задан Benjamin W. 5 November 2019 в 14:52
поделиться