Я пытался выяснить env, (то есть вызов утилиты в новой среде).
Просто в качестве примера моя переменная окружения KDEDIRS = / usr в моей текущей среде и, скажем, я набираю:
env -i KDEDIRS=/home/newkdedir env
Это выводит KDEDIRS = / home / newkdedir , как и ожидалось. (то есть вызов второго env с новой средой)
Теперь я хочу позвонить, сказать, утилита эхо так же
env -i KDEDIRS=/home/new_kdedir echo ${KDEDIRS}
Это явно не сработает, потому что. Оболочка расширяет KDEDIRS, прежде чем она получит эхо. Таким образом, вывод составляет / usr (т.е. значение в текущей среде)
Тогда я попробую косвенное обращение и наберу
env -i KDEDIRS=/home/newkdedir echo ${!KDEDIRS}
Это ничего не выводит.
Я могу быть немного озадачен этим, но как мне заставить оболочку расширить эту переменную KDEDIRS в соответствии с недавно созданной средой для echo ?