Bash: Разница между> и >> оператором? [закрыто]

38

я новичок и не очень разбираюсь в bash.my инструктор попросил меня сделать скрипт cat и наблюдать за выводом, а затем сказать, что такое оператор> и в чем разница между оператором> & >>? и я не могу найти оправдания. Так что, пожалуйста, помогите :)

jumbo18
источник
Вы можете возиться с временными файлами, чтобы получить разницу между >> и>.
2010 года

Ответы:

61

Знак «>» используется для перенаправления вывода программы на что-то, кроме stdout (стандартный вывод, который по умолчанию является терминалом).

>> добавляет файл или создает файл, если он не существует.
> Перезаписывает файл, если он существует, или создает его, если он не существует.

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

Примеры:
$ ls > allmyfiles.txt создает файл "allmyfiles.txt" и заполняет его списком каталогов из команды ls

$ echo "End of directory listing" >> allmyfiles.txt добавляет "конец списка каталогов" в конец файла "allmyfiles.txt"

$ > newzerobytefile создает новый файл нулевого байта с именем "newzerobytefile" или перезаписывает существующий файл с тем же именем (делая его нулевым размером байта)

andyhky
источник
3
Подробнее о перенаправлении ввода-вывода: tldp.org/LDP/abs/html/io-redirection.html
Тим Белява,
0

=> th> использование оператора для перезаписи файла, если он существует, в противном случае он создаст новый файл EX cat> example1 => Если файл 'example1' существует, то он будет перезаписан, иначе создайте новый файл => оператор >>, используемый для добавления конец файла EX cat >> example1

Годани Бхавеш
источник
4
Это точно та же информация, что и ранее опубликованная andyh_ky. Нет смысла повторять предыдущий ответ. Также нет смысла добавлять бессмысленные комментарии.
Джон Гарденье
-4

Не удалось найти страницу руководства bash ? Просто введите в командной строке man bash .

Adamo
источник
Вы можете попробовать добавить полезный контент в свой комментарий. У них только что было сообщение в блоге, в котором говорится о ответах в стиле RTFM blog.serverfault.com/post/1306724710/rtfm Возможно, вы могли бы упомянуть, что операторы> и >> используются для перенаправления ввода / вывода tldp.org/LDP/abs/html/io -redirection.html Likewise <используется для чтения файла в стандартный ввод.
Тим Белава
Я согласен с @Tim. Я все в пользу метода обучения "научить человека ловить рыбу". В этом случае, тем не менее, и особенно для начинающих, есть нулевое указание, что выходные перенаправители обрабатываются пользовательской оболочкой.
EEAA
-1 потому что man-страница bash - одна из самых трудных для понимания, с которой мне приходится иметь дело на регулярной основе.
Спарр
О, давай! Это не RTFM! Вы можете перейти на страницу руководства bash (и я предоставил ссылку на нее), нажмите ctrl-F и введите >> Первое, что он показывает, это использование >> Плюс, этот вопрос - домашнее задание: отвечаем ли мы на домашнее задание (оно было ответил andyh_ky) или мы покажем где ответ?
Адамо
Как заставить его искать «страницу руководства bash», а не случай «Read The F ****** Manual»? В нем даже есть слово «руководство»!
Сэм Коган