ตัว>เปลี่ยนเส้นทางเขียนเอาต์พุตของคำสั่ง ( stdoutไม่ใช่stderr- คุณใช้2>สำหรับสิ่งนั้น) ไปยังไฟล์ที่ระบุหลังจากนั้น หากมีอยู่แล้วไฟล์จะถูกเขียนทับ
ลักษณะการทำงานนี้มีประโยชน์สำหรับคำสั่งแรกของคุณ: หากมีไฟล์ที่มีอยู่แล้วควรลบและแทนที่ด้วยไฟล์ใหม่
>>อย่างไรก็ตามตามที่คุณต้องการที่จะผนวกเอาท์พุทเพิ่มเติมทั้งหมดแทนการแทนที่คนก่อนหน้านี้คุณจะต้องใช้ผนวก-เปลี่ยนเส้นทาง สิ่งนี้จะสร้างไฟล์หากยังไม่มีอยู่ แต่จะผนวกเอาท์พุทที่เปลี่ยนเส้นทางไปยังไฟล์หากมีอยู่แล้ว
และโปรดอย่าใช้ไพพ์|ในการเขียนหลายคำสั่งในหนึ่งบรรทัดซึ่งจะเปลี่ยนทิศทางเอาต์พุตของคำสั่งแรก ( stdout) ไปยังอินพุตของคำสั่งที่สอง ( stdin)
คุณสามารถใช้เครื่องหมายอัฒภาค ( ;) เพื่อบอกให้ bash เรียกใช้คำสั่งหนึ่งคำสั่งหลังจากนั้นอีกครั้งราวกับว่ามันเป็นไฟล์สคริปต์ หากคำสั่งล้มเหลว (โค้ดส่งคืนไม่ใช่ 0) คำสั่งที่เหลือยังคงถูกเรียกใช้งาน
หรือคุณอาจเลือกที่ผู้ประกอบการและตรรกะ ( &&) หรือ OR ( ||):
ถ้าคุณใช้&&ในการเชื่อมต่อสองคำสั่งที่สองจะเพียง แต่จะดำเนินการถ้าคนแรกที่ประสบความสำเร็จ (รหัสส่งกลับเป็น 0) หากล้มเหลวจะไม่มีคำสั่งใดต่อไปนี้ทำงาน แต่เพียงรันคำสั่งที่สองถ้าคนแรกที่ล้มเหลว (รหัสการส่งคืนไม่ได้เป็น 0)!
||
ดังนั้นในกรณีของคุณฉันขอแนะนำให้คุณใช้เครื่องหมายอัฒภาค:
md5sum firefox.tar.gz > sha.txt ; sha1sum firefox.tar.gz >> sha.txt ; sha512sum firefox.tar.gz >> sha.txt
{}หรือ()? ขอขอบคุณ.