Как передать вывод команды curl по конвейеру в переменную среды и использовать его в другой команде curl?

Это потому, что во втором примере переменная $ HOME расширяется до того, как оболочка выполнит команду, поэтому на самом деле вы выполняете

sudo su - user2 -c "echo /home/user1" 

, поскольку это значение переменной $ HOME имеет на данный момент.

(я также предполагаю, что вывод второй команды на самом деле не $ HOME = / home / user1 , а просто / home / user1 ).

Вы можете предотвратить расширение переменных в первой оболочке, если используете одинарные кавычки:

$ sudo su - user2 -c 'echo $HOME' 
/home/user2
1
13.07.2016, 12:21
0 ответов

Теги

Похожие вопросы