sudo echo $PKG_CONFIG_PATH
команда не делает то, что Вы ожидаете. Переменная оболочки расширена на командной строке, прежде чем sudo будет выполнен. Попытайтесь использовать одинарные кавычки вокруг $PKG_CONFIG_PATH для остановки расширения на sudo командной строке, и Вы остановите расширение оболочки прежде sudo выполнения
richm@royalcounty:~$ export PKG_CONFIG_PATH=hello
richm@royalcounty:~$ sudo echo $PKG_CONFIG_PATH
hello
richm@royalcounty:~$ sudo echo '$PKG_CONFIG_PATH'
$PKG_CONFIG_PATH
На самом деле Ваша исходная команда является неправильной, потому что эхо внутри sudo не сделает никакого переменного расширения. Можно вызвать это путем выполнения оболочки явно
richm@royalcounty:~$ sudo -E echo '$PKG_CONFIG_PATH'
$PKG_CONFIG_PATH
richm@royalcounty:~$ sudo sh -c 'echo $PKG_CONFIG_PATH'
richm@royalcounty:~$ sudo -E sh -c 'echo $PKG_CONFIG_PATH'
hello
Это демонстрирует почему Ваш sudo make install
не работает без -E
аргумент sudo
Вы могли использовать sed
для этого.
$ cal|sed -e '1n;s/\(..\)\(.\)/\1,\2/g'
May 2012
Su, Mo, Tu, We, Th, Fr, Sa
, , 1, 2, 3, 4, 5
6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16, 17, 18, 19
20, 21, 22, 23, 24, 25, 26
27, 28, 29, 30, 31
1n
печатает первую строку и перемещается в следующее. Замена затем берет символы три три и печатает первые два, сопровождаемые ,
затем третье.