кот в Mac OS X никогда не выходит

3166
skylerl

Я немного новичок в UNIX, но я пытаюсь запустить команду cat, чтобы создать простой текстовый файл, и он прекрасно работает, однако после создания файла cat никогда не завершается. Например, я набираю cat> ~ / mytextfile.txt и нажимаю Enter, файл создан, но мой курсор остается на пустой строке.

3
`cat` чаще всего используется для выгрузки содержимого одного файла в другой, напр. `cat file1> file2` или подача файла в канал, напр. `кошачий файл | somecommand`. Если вы просто хотите создать пустой файл, используйте команду `touch`. Если вы хотите создать новый файл с несколькими простыми словами или добавить несколько строк в существующий файл, `echo` является распространенным решением. Darth Android 13 лет назад 3
Ах, это сделал это для меня, спасибо! skylerl 13 лет назад 0
@Darth - Вы должны написать свой комментарий в качестве ответа. Nifle 13 лет назад 1
«подача файла в канал, напр. cat file | somecommand» «cat'ting в этом контексте, хотя обычно это делается, совершенно бесполезен. «somecommand JRobert 13 лет назад 0

3 ответа на вопрос

9
ayaz

Вы должны отправить EOF (^D)символ на стандартный ввод, чтобы сказать, catчтобы остановить.

Я вижу, как я могу получить ^ D? Или что это за ярлык или как? skylerl 13 лет назад 0
Это комбинация клавиш `ctrl + d`. ayaz 13 лет назад 1
Стоит отметить, что многие приложения командной строки * nix (все те, которые читают ввод из stdin) работают одинаково. Chris Nava 13 лет назад 1
7
Josh K

Вы говорите catничего не отправлять в файл. Используйте touch(как уже упоминалось) вместо.

0
spicyramen

В моем MAC мне нужно отправить EOF (^ D) дважды.

Пример:

cat > /tmp/mypassword RandomLettersAndNumbers123 

Затем нажмите FN + Control + Dдважды.