ฉันเป็นมือใหม่และไม่รู้มากเกี่ยวกับผู้สอน bash.my ขอให้ฉันทำ cat script และสังเกตการณ์ผลลัพธ์จากนั้นบอกโอเปอเรเตอร์> คืออะไรและอะไรคือความแตกต่างระหว่างโอเปอเรเตอร์> & >> และฉันไม่สามารถหาเหตุผลใด ๆ ดังนั้นโปรดช่วย :)
ฉันเป็นมือใหม่และไม่รู้มากเกี่ยวกับผู้สอน bash.my ขอให้ฉันทำ cat script และสังเกตการณ์ผลลัพธ์จากนั้นบอกโอเปอเรเตอร์> คืออะไรและอะไรคือความแตกต่างระหว่างโอเปอเรเตอร์> & >> และฉันไม่สามารถหาเหตุผลใด ๆ ดังนั้นโปรดช่วย :)
คำตอบ:
เครื่องหมาย ">" ใช้สำหรับเปลี่ยนเส้นทางเอาต์พุตของโปรแกรมไปยังสิ่งอื่นที่ไม่ใช่ stdout (เอาต์พุตมาตรฐานซึ่งเป็นเทอร์มินัลโดยค่าเริ่มต้น)
>> ต่อท้ายไปยังไฟล์หรือสร้างไฟล์หากไม่มีอยู่
> เขียนทับไฟล์หากมีอยู่หรือสร้างขึ้นหากไม่มีอยู่
ไม่ว่าในกรณีใดผลลัพธ์ของโปรแกรมจะถูกเก็บไว้ในไฟล์ที่มีชื่อให้หลังจากตัวดำเนินการเปลี่ยนเส้นทาง
ตัวอย่าง:
$ ls > allmyfiles.txt
สร้างไฟล์ "allmyfiles.txt" และเติมด้วยรายชื่อไดเรกทอรีจากคำสั่ง ls
$ echo "End of directory listing" >> allmyfiles.txt
เพิ่ม "รายชื่อท้ายไดเรกทอรี" ที่ท้ายไฟล์ "allmyfiles.txt"
$ > newzerobytefile
สร้างไฟล์ศูนย์ไบต์ใหม่ด้วยชื่อ "newzerobytefile" หรือเขียนทับไฟล์ที่มีอยู่ในชื่อเดียวกัน (ทำให้มีขนาดศูนย์ไบต์)
=> th> โอเปอเรเตอร์ใช้เพื่อเขียนทับไฟล์หากมีอยู่อย่างชาญฉลาดอื่น ๆ มันจะสร้างไฟล์ EX cat> example1 => หากไฟล์ 'example1' มีอยู่มากกว่าที่จะเขียนทับสร้างไฟล์ใหม่ => ตัวดำเนินการ >> ใช้เพื่อผนวก จุดสิ้นสุดของไฟล์ EX cat >> example1
ไม่สามารถค้นหาหน้าคู่มือของ bash ได้ ? เพียงพิมพ์man bashที่ command prompt