Cal никакой разделитель пространства

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

3
30.05.2012, 02:47
1 ответ

Вы могли использовать 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 печатает первую строку и перемещается в следующее. Замена затем берет символы три три и печатает первые два, сопровождаемые , затем третье.

5
27.01.2020, 21:17

Теги

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