Я знаю, что это были больше чем 3 месяца, с тех пор как я задал этот вопрос, но я думал, что будет хорошо показать то, что я закончил тем, что делал в своем сценарии оболочки.
Как я описал, я должен был так или иначе поймать stderr, чтобы управлять им в файле журнала, например, добавить метку времени. Я смог сделать это использование файлы и с тем, что предложенный Patrick, но я хотел сохранить его максимально простым.
Так, это - то, как я разработал его:
if ! result=$(command_that_will_produce_errors 2>&1 1>/dev/null)
then
echo "There was an error on $(date): $result" >> logfile
else
echo "Command executed successfully on $(date)" >> logfile
fi
Можно узнать, какому пакету это принадлежит при помощи dpkg
:
dpkg -S /usr/bin/play
Это даст Вам вывод, который выглядит примерно так:
$ dpkg -S /usr/sbin/sshd
openssh-server: /usr/sbin/sshd
Если Вам не нравится этот пакет, можно затем удалить тот пакет с apt-get remove
, или apt-get purge
если Вы хотите произвести чистку конфигурационных файлов, также.
Если Вы вместо этого не получаете "пути, найденного, соответствуя шаблону", этот файл не принадлежит никакому пакету, в этом случае необходимо тщательно рассмотреть возможности. Вы могли удалить его вручную, но возможно некоторый установленный пакет, который не был установлен Вашим диспетчером пакетов, требует его.
Можно также переопределить play
двоичный файл, который называют путем помещения предпочтительного двоичного файла в местоположение ранее в Вашем PATH
. Чтобы сделать это, Вы инвертировали бы порядок конкатенации в Вашем export PATH
оператор:
export PATH="/relativePath/to/play:$PATH"
Ваш play
команда, кажется, часть SoX
. Та команда играет звуковые файлы через аудиосистему. Если Вам не нужен он, то у Вас есть несколько опций:
PATH
так /relativePath/to/play
появляется прежде /usr/bin
/usr/bin/play
непосредственно (но это могло вызвать проблемы для Вашего диспетчера пакетов, или он мог бы просто вновь появиться позже, если Ваш диспетчер пакетов замечает, что отсутствует), play
команда является фактической стандартной командой на Linux. Я не рекомендую удалить его: некоторые приложения могут прекратить работать правильно. (Не очень плохим способом, потому что play
только звуки игр, но все еще.)
Видеть что play
команда делает, работает man play
.
Для наблюдения, чему принадлежит пакет команда опросите базу данных пакета. Так как Монетный двор использует dpkg в качестве упаковочного инструмента:
$ dpkg -S /usr/bin/play
sox: /usr/bin/play
Я не рекомендую установить другую команду с тем же именем как стандартная команда, потому что это - источник беспорядка. Тем не менее, если Вы хотите play
работать play
команда от Платформы Игры вместо той от Носков, помещенных каталог, где это расположено перед стандартными каталогами на Вашем пути поиска команды.
export PATH="/path/to/play-framework/bin:$PATH"
play
в моей системе у меня никогда не было сбоя приложений из-за его отсутствия во всех моих годах выполнения этой системы. Я думаю, квалифицируя его, поскольку "фактическая стандартная команда", возможно, немного чрезмерна.
– Chris Down
03.10.2013, 14:02