ви
является редактором. Он делает то, что обычно делают редакторы: вы можете изменять файл в случайных местах, перемещая для этого курсор.
Изменение файла с эхо
всегда будет добавлять текст в конец файла; или перезаписать его полностью. Изменения так же постоянны, как и при использовании редактора, такого как ви
.
эхо "foo" >.bashrc
Это заменяет весь этот файл всего одной строкой «foo». Вы, вероятно, не хотите этого.
эхо "foo" >>.bashrc
Это добавляет новую строку "foo" к концу из .bashrc. Хотя иногда это может быть полезно, обычно вам нужен больший контроль над тем, куда идут ваши изменения, поэтому лучше используйте редактор.
И это ракушка который делает все это волшебство: Это >
перенаправляет вывод команды в файл, перезаписывая при этом любое старое содержимое этого файла; >>
похож, но он не перезаписывает старый контент, а только добавляет новый контент в конец.
Учебники используют эхо
как правило, потому что это очень простая команда, которая, как вы уже догадались, просто эхо его аргументы. Но это перенаправление ввода-вывода с >
или же >>
работает с Любые команда, которая записывает вывод в стандартный канал вывода (также известный как стдио).