2016-12-29 15 views
-1

Код нижеPerl система эхо перенаправления вывода

system(echo hi there >>log.txt); 

перенаправляет правильно, но и печатает вывод в STDOUT .. поэтому, когда я бегу мой сценарий PERL я вижу

perl script.pl 
hi there 

и журнал. Файл txt обновляется коррекцией.

Вопрос: как я могу получить его только для обновления файла, а не для STDOUT.

Примечание: Пожалуйста, не предлагайте использовать дескриптор файла, у меня есть причины, чтобы заставить меня не хотеть этого делать.

+1

Ваш код не действителен Perl (отсутствует некоторые кавычки), поэтому он не будет работать. Кроме того, ваш скрипт, вероятно, делает что-то еще, так как система perl -E («echo hi there >> log.txt»); '' работает так, как ожидалось. Покажите свой реальный код, если хотите, чтобы мы помогли. – Dada

ответ

0

Вы можете вызвать команду с помощью кавычку:

`echo hi there >>log.txt`; 

Тогда результат не будет напечатан на STDOUT, но вернулся, чтобы вы могли сохранить его в переменной. Но вам это не нужно, вы можете просто игнорировать его.

+0

На самом деле это была моя первая оценка, но по какой-то причине .exe я звоню иногда зависаю, когда я называю это с использованием обратных ссылок, но не делает, когда я делаю с системой() .. в любом случае, чтобы сделать это с помощью системы()? Я мог бы также использовать только обратные шаги для эха .. это может быть хорошим решением .. –

 Смежные вопросы

  • Нет связанных вопросов^_^