Как записать $ Log_general в Log1 и Log2 одновременно, не печатая ничего на экран?

примечание: файлы Log1 и Log2 необходимо обновлять отдельно от $ Log_general, я не хочу копировать Log1 в Log2 !!

Я попробовал следующее, но обновился только Log2

 echo $Log_general 1>Log1 1>Log2

или же

./my_script.sh 1>Log1 1>Log2

и со следующим было проблема, что вывод $Log_general появляется на экране, в то время как я стремлюсь записывать только в файлы Log1 и Log2:

 echo  $Log_general | tee -a Log1 Log2

2 ответа2

1

Вы должны быть в состоянии использовать команду tee для передачи вывода сначала в один файл и стандартный вывод, а затем на стандартный вывод во второй файл. Что-то вроде:

echo $Log_general | tee Log1 > Log2

Редактировать:

Я не видел твою правку Дженнифер до того, как опубликовал, но приведенное выше использование не выводит меня на экран (хотя я использую Cygwin, а не терминал Linux - надеюсь, вывод такой же)

1
./bash.sh | tee -a /path/to/firstfile 

Если вы пытаетесь добавить вывод файла сценария bash к одному файлу, то приведенный выше код будет работать.

./bash.sh | tee -a /path/to/firstfile |tee -a /path/to/secondfile

Второй бит кода должен работать для записи одинакового вывода в два разных файла. Я использую Xubuntu, и он работает для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .