STDOUT

10.3.1 STDOUT

STDOUT может быть направлен на файлы. Для начала обратите внимание на вывод следующей echoкоманды, которая отображается на экране:

sysadmin@localhost:~$ echo "Line 1"
Line 1

Вместо этого с помощью >символа вывод можно перенаправить в файл:

sysadmin@localhost:~$ echo "Line 1" > example.txt

Эта команда не отображает вывод, так как STDOUT был отправлен в файл, example.txtа не на экран. Вы можете увидеть новый файл с выводом команды ls.

sysadmin@localhost:~$ ls
Desktop    Downloads  Pictures  Templates  example.txt
Documents  Music      Public    Videos   

Файл содержит вывод команды echo, который можно просмотреть с помощью catкоманды:

sysadmin@localhost:~$ cat example.txt                                  
Line 1

Важно понимать, что одна стрелка перезаписывает любое содержимое существующего файла:

sysadmin@localhost:~$ cat example.txt
Line 1
sysadmin@localhost:~$ echo "New line 1" > example.txt
sysadmin@localhost:~$ cat example.txt
New line 1

Исходное содержимое файла исчезло, заменено выводом новой echoкоманды.

Также возможно сохранить содержимое существующего файла, добавив к нему. Используйте две стрелочки >>для добавления в файл вместо его перезаписи:

sysadmin@localhost:~$ cat example.txt
New line 1
sysadmin@localhost:~$ echo "Another line" >> example.txt
sysadmin@localhost:~$ cat example.txt
New line 1
Another line

Вместо того, чтобы перезаписываться, выходные данные echoкоманды добавляются в конец файла.

Last updated