Как получить сеанс Dbus с привилегиями пользователя root

Это не имеет ничего общего с sed как таковым, оно применимо к любой программе, которая читает стандартный ввод. В любом случае, вы искали

sed 's/:/ /g' <<<"$PATH"

Нет причин для сохранения в другой переменной, ничто из этого не повлияет на значение, хранящееся в переменной. Для этого вам нужен оператор присваивания (=). Синтаксис, используемый выше, называется «здесь строка» и специфичен для bash, ksh и zsh. Он служит для передачи значения переменной в качестве входа в программу, которая читает со стандартного ввода.

Я написал «здесь строка» , в которой перечислены все различные операторы оболочки, подобные этому. Вы можете захотеть посмотреть.

Обратите внимание, что вы также могли бы сделать

echo "$PATH" | sed 's/:/ /g' 

Наконец, вам действительно не нужно sed для этого. Вы можете сделать все в bash прямо:

echo "${PATH//:/ }"

Вышеупомянутая конструкция замены bash. Учитывая переменную $var, шаблон pat и замену (rep), чтобы заменить все вхождения pat на rep, вы сделали бы

echo "${var//pat/rep}"

То же самое с одной косой чертой заменяет только первое вхождение:

echo "${var/pat/rep}"

1
задан 18 December 2017 в 13:08

0 ответов

Другие вопросы по тегам:

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