Самым легким путем я могу думать, так как рассматриваемая строка является командой:
`$easy_install 2>&1 | grep sudo`
Обратные галочки или $(…)
возьмите вывод команды, передают по каналу и выполняют его, как будто Вы ввели его, возвратив вывод.
Обратите внимание на то, что эта команда не будет работать, если Вы будете отсутствовать sudo
и попытка установить его. Но так как это - очевидно, Ubuntu, sudo
обычно доступно. Для предотвращения этого Вы могли бы хотеть попробовать свой второй выбор:
`$easy_install 2>&1 | tail -n 1`
Попытайтесь отнять от груди себя из использования tail -1
, это заменяется стандартной формой tail -n 1
. Я нахожу это трудно сам, но мне не нравятся предупреждения депрекации.:)
Предупреждение: если $easy_install
существует и Вы не получаете этот тип вывода, любая из этих команд значительная угроза безопасности. Можно закончить тем, что выполнили произвольные вещи. Можно защитить себя, будучи более экстравагантными:
`$easy_install 2>&1 >/dev/null | grep '^sudo apt-get install'`
Это отбрасывает stdout
, и только выполнит что-либо запускающееся с sudo apt-get install
который ограничивает вещи приятно, но является значительно более раздражающим, чем просто ввод sudo apt-get install $package
самостоятельно.
От/etc/rc? .d/README:
Для отключения сервиса в этом runlevel переименуйте его сценарий в этом каталоге так, чтобы новое имя началось с 'K' и двузначного числа, и выполненные 'значения по умолчанию сценария обновления-rc.d для переупорядочения сценариев согласно зависимостям.
Файлы, запускающиеся с S
запускаются, и те, которые имеют K
уничтожаются при выполнении до переключателя runlevel. Поэтому существует a K
введите, это останавливает что-то, что может работать вместо того, чтобы не делать ничего, что произошло бы, если бы было нет [SK]??unmountiscsi.sh
существующий.