Как определить переменную среды в входной команде SU

StackOverflow https://stackoverflow.com/questions/3676548

  •  01-10-2019
  •  | 
  •  

Вопрос

Эта команда имеет пустой выход.

su user -c "ABC=abc;echo $ABC"

Любая идея, как я могу определить переменную в команде ввода?

Это было полезно?

Решение

Измените свои цитаты на отдельные цитаты. Двойные цитаты позволяют переменной заменены в текущей среде, где она еще не установлена. Чтобы увидеть разницу, попробуйте свою версию с $USER И сравните это с этим:

su user -c 'ABC=abc; echo $ABC; echo $USER'

Другие советы

При использовании варианта Bourne Shell:

Abc = abc su under -c 'echo $ abc'

Если нет, используйте env.

ENV ABC = ABC SU Пользователь -C 'Echo $ ABC'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top