В чем разница между использованием> и >>?
Как я могу использовать оба <и> (операторы перенаправления) в одной команде?
В чем разница между использованием> и >>?
Как я могу использовать оба <и> (операторы перенаправления) в одной команде?
>
Перенаправляют данные из stdout
(чтение стандартного вывода) в файл.
ls -a> my-files.txt
примет вывод команды ls -a
и поместит его в файл с именем my-files.txt
удалив / перезаписав файл, если он существует. Использование >>
вместо >
в приведенном выше примере не перезапишет файл, если он существует, но добавит вывод ls -a
в конец my-files.txt
<
с другой стороны, отправляет данные в программу stdin
(см. стандартную версию в).
Если у меня есть файл my-files.txt
и я хочу знать, сколько слов в нем содержится, я могу отправить его в программу wc
. Эта программа принимает данные на этом stdin
так данные ему я
wc -w <my-files.txt
И, наконец, если я хочу сохранить вывод этой команды в новый файл, я могу использовать оба варианта так
wc -w <my-files.txt> wordcount.txt
>>
означает просто добавить / создать, если не существует, очень полезно для журналов.
<<
также существует и полезно. Пытаться:
$ cat > a <<EOF
some text here
more text
EOF
$ cat a
Вы видите , что файл a
содержит текст между двумя EOF
Пытаться,
Расширенное руководство по написанию сценариев
Углубленное изучение искусства сценариев оболочки