cat บน Mac OS X ไม่เคยออก


3

ฉันเป็นบิตของ UNIX นิดหน่อย แต่ฉันพยายามเรียกใช้คำสั่ง cat เพื่อสร้างไฟล์ข้อความแบบง่ายและใช้งานได้ดี แต่ cat ไม่เคยออกหลังจากสร้างไฟล์ ตัวอย่างเช่นฉันพิมพ์ cat> ~ / mytextfile.txt และกด Enter ไฟล์จะถูกสร้างขึ้น แต่เคอร์เซอร์ของฉันยังคงอยู่ในบรรทัดว่าง


3
catมักใช้สำหรับการทิ้งเนื้อหาของไฟล์หนึ่งไปยังอีกไฟล์หนึ่งเช่น cat file1 > file2หรือป้อนไฟล์ไปที่ไปป์เช่น cat file | somecommand. touchหากคุณเพียงต้องการที่จะสร้างไฟล์ที่ว่างเปล่าให้ใช้คำสั่ง หากคุณต้องการสร้างไฟล์ใหม่ด้วยคำง่ายๆสองสามคำหรือต่อท้ายสองสามบรรทัดไปยังไฟล์ที่มีอยู่echoนั่นเป็นวิธีแก้ปัญหาทั่วไป
Darth Android

1
@Darth - คุณควรเขียนความคิดเห็นของคุณเป็นคำตอบแทน
Nifle

"การป้อนไฟล์ไปยังไพพ์เช่นไฟล์ cat | somecommand" 'การดักฟังในบริบทนี้แม้ว่าโดยทั่วไปแล้วจะทำได้ แต่ก็ไร้ประโยชน์ 'somecommand <file' เทียบเท่าและใช้กระบวนการน้อยกว่าหนึ่งกระบวนการ วิธีเดียวที่เหมาะสมที่จะเชื่อมไฟล์หลาย ๆ ไฟล์ไว้ในสตรีมอินพุตเดี่ยวสำหรับ 'somecommand'
JRobert

คำตอบ:


7

คุณกำลังบอกว่าcatจะไม่ส่งอะไรไปยังไฟล์ ใช้touch(ดังกล่าว) แทน


9

คุณต้องส่งEOF (^D)ตัวอักษรในอินพุตมาตรฐานเพื่อบอกcatให้หยุด


ฉันเข้าใจฉันจะได้รับ ^ D ได้อย่างไร หรือทางลัดคืออะไร?
skylerl

1
ctrl + dมันเป็นส่วนผสมที่สำคัญ
ayaz

1
น่าสังเกตว่าแอพบรรทัดคำสั่ง * nix จำนวนมาก (แอปพลิเคชันทั้งหมดที่อ่านอินพุตจาก stdin) ทำงานในลักษณะเดียวกัน
Chris Nava

0

ใน MAC ของฉันฉันต้องส่ง EOF (^ D) สองครั้ง

ตัวอย่าง:

cat > /tmp/mypassword
RandomLettersAndNumbers123

จากนั้นกดFN + Control + Dสองครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.