Bash หรือ Zsh ต่างกันทำไมใช้อย่างใดอย่างหนึ่ง [ซ้ำ]


23

ดังนั้นคำถามที่บอกว่ามันสวยมาก ฉันใช้ Snow Leopard และฉันทำการพัฒนาเว็บไซต์เป็นจำนวนมากโดยเฉพาะใน Rails 3 ซึ่งใช้งานคอนโซลอย่างหนัก

ฉันเคยเห็นบล็อกเกอร์ที่โด่งดังบางคนพูดถึง Zsh ว่าชอบ Bash แต่พวกเขาไม่รู้ว่ามันจะสร้างความแตกต่างอะไร

ใครช่วยให้ฉันเปรียบเทียบที่ดีของสิ่งที่แตกต่างและสิ่งที่อาจทำให้หนึ่งต้องการตัวเลือกหนึ่งหรืออื่น ๆ



1
ว่าจะช่วย, 2016 บทความ: stackabuse.com/zsh-vs-bash
Cœur

คำถามนี้มีความเกี่ยวข้องอีกครั้งเนื่องจากแอปเปิ้ลเปลี่ยนเป็น zsh
amar

คำตอบ:


16

นี่คือจากคำถามที่พบบ่อย Zsh :

2.5: ความคล้ายคลึงกันกับทุบตี

เชลล์ Bourne-Again เชลล์ทุบตีเป็นอีกเชลล์ที่ปรับปรุงคล้ายบอร์น ชัดเจนที่สุด
ความแตกต่างจาก zsh คือมันไม่ได้พยายามเลียนแบบ Korn เชลล์ เนื่องจากทั้งคู่
เปลือกหอยอยู่ในระหว่างการพัฒนาที่ใช้งานอยู่มันอาจไม่สมเหตุสมผลที่จะเจาะจงเกินไป 
ที่นี่ ในวงกว้างการทุบตีได้ให้ความสำคัญกับการปฏิบัติตามมาตรฐานมากขึ้น (เช่น POSIX) สำหรับ
อีกต่อไปและได้หลีกเลี่ยงคุณสมบัติเชิงโต้ตอบที่ลึกซึ้งยิ่งขึ้น (ตั้งโปรแกรมได้) 
เสร็จสิ้น ฯลฯ ) ที่ zsh มี

ฉันใช้ทั้งคู่ แต่ชอบ Bash มากกว่าวันนี้เพราะเครื่องที่ฉันทำงานโดยปริยายจะทุบตีอย่างสม่ำเสมอ ความคิดเห็นตามมาตรฐานเป็นสิ่งสำคัญสำหรับฉันเพราะนั่นหมายถึงความสอดคล้องระหว่างระบบปฏิบัติการ

Zsh มีความสามารถในการเติมข้อความอัตโนมัติที่ดี แต่ฉันยังคงค้นหากรณีที่ไม่รู้ว่าฉันต้องการอะไร เมื่อหลายปีก่อนมันอาจจะดีขึ้นตั้งแต่นั้นมา

ฉันพบว่าการเปิดใช้งาน "โหมด vi" ( set -o vi) ใน Bash ทำให้มันเป็นสภาพแวดล้อมของบรรทัดคำสั่งที่ดีกว่าปกติดังนั้นฉันจึงทำเช่นนั้นทันทีใน.bashrcไฟล์ของฉัน

เมื่อเขียนเชลล์สคริปต์ฉันไม่เคยเขียนโปรแกรมใน bash หรือ zsh - ฉันใช้โปรแกรม sh ( /bin/sh) เพราะมันเป็นตัวหารร่วมที่ต่ำที่สุดและมีโอกาสน้อยที่สุดที่จะมีปัญหาความเข้ากันได้ นั่นเป็นเพียงนิสัยเก่า ๆ ที่ทำให้ฉันยืนหยัดได้ดี


2
ความแตกต่างอย่างหนึ่งคือตัวอักขระตัวแทนนั้นทำงานแตกต่างกัน ยกตัวอย่างเช่นการหาอินสแตนซ์ทั้งหมดของไฟล์ชื่อ "vi" locate */viหนึ่งสามารถใช้ทุบตีด้วยคำสั่ง ใช้ zsh zsh: no matches found: */viผลสำหรับคำสั่งเดียวกัน เพื่อให้การทำงานค้นหาใน zsh locate "*/vi"คำค้นหาจะต้องมีการล้อมรอบด้วยคำพูดเช่น
Backup Pro

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