Bash редирект не появляется, если вы не используете append? - PullRequest
0 голосов
/ 17 февраля 2020

Почему следующее работает при использовании >>, но не с >?

image

GNU bash, версия 4.4.12

1 Ответ

1 голос
/ 17 февраля 2020

Причина, по которой вы видите это, состоит в том, что оболочка запускается с настройкой перенаправления, а когда вы используете >, она очищает файл, на который вы перенаправляете. Поэтому в этом случае первое, что происходит, - это файл test, который очищается. Затем он запускает команды. Так что теперь, когда test является пустым файлом, cat test также будет пустым, и поэтому tr получит пустой ввод из канала, и, таким образом, ничто не будет перенаправлено в файл.

...