Відповіді:
>- це не команда, а перенаправлення дескриптора файлу. Це означає, що оболонка аналізує це завдання, видаляє його з командного рядка та змінює середовище для нового процесу, в якому воно запускається. Новий процес не помічає цієї частини командного рядка. Ось чому ви можете помістити його скрізь: на початку, наприкінці чи між ними.
Шукайте REDIRECTIONблок в man bash.
Для того, щоб додати до наявного файлу, вам потрібно скористатися >>.
>є оператором перенаправлення . Зауважте, що використання >для переадресації до звичайного файлу замінить те, що вже є, якщо не встановлено noclobber . >>буде додано до кінця файлу.
noclobberбуло встановлено (bash).
noclobber- це не просто башізм. Це частина POSIX
Як відповіли інші, > це не команда, а скоріше оператор перенаправлення. Однак термін "оператор перенаправлення" не стосується конкретно операторів перенаправлення >, а декількох можливих операторів перенаправлення. На dashголовній сторінці вказані такі оператори перенаправлення:
< > >| << >> <& >& <<- <>
Я не впевнений, що існує дійсне індивідуальне ім’я для кожного. Можливо, якщо ви перекопаєте старі інструкції з оболонки, ви знайдете щось цікаве. Це джерело , правильне чи неправильне, безумовно, має намір назвати деякі з них:
> - 'output redirection operator'
< - 'input redirection operator'
>> - 'output append operator'
Але також:
2> - 'standard error redirection operator'
Однак я не думаю, що це дійсно правильно, оскільки 2технічно це аргумент, а не частина оператора.
Швидкий довідник (якщо ви не впізнаєте жодного з наведених вище):
> - redirect output stream to a file, eg >somefile (for stdout) or 2>somefile
>| - as above but overwrite the file even if the noclobber shell option is set
>> - append output stream to file
< - redirect input stream from file, n defaults to 0 for stdin
<> - open file for reading and writing on stdin
>& - redirect output stream to another stream (eg >&1) or close with - (eg 2>&-)
<< - here document - see http://en.wikipedia.org/wiki/Here_document
<<- - here document with leading tabs removed.
У bashвас також є:
<<< - here string, a one line here file. Eg <<<"foo bar"
<<-видаляє провідні вкладки та пробіли?
> перенаправляє вихід у файл (або пристрій), перезаписуючи все, що вже існує
>> перенаправляє вихід у файл (або пристрій), додаючи до всього, що там уже існує
< спрямовує дані з файлу (або пристрою) до програми чи пристрою
<< ось тут документ
<<є тут документ
noclobberвстановлений, то>|перезапис і дозволить дозволити файл.