การจัดหา bash_prompt (สคริปต์ทุบตี) เมื่อรัน zsh (oh-my-zsh)


1

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

รูปแบบที่ฉันต้องการใช้ขณะนี้อยู่ในไฟล์ที่เรียกว่า.bash_promptซึ่งถูกที่มาจากกลับมาเมื่อเปลือกเริ่มต้นคือ.bash_profilebash

มีอยู่ฉันสามารถบอก oh-my-zsh ให้ใช้พรอมต์นี้ได้หรือไม่ ฉันเข้าใจว่าzshมีไวยากรณ์ / ภาษาแตกต่างกันเล็กน้อยbashดังนั้นการจัดหาโดยตรงจากการ.zshrcโยนข้อผิดพลาดค่อนข้างมาก


คุณสามารถแสดงให้เราเห็นว่า "ธีม" มาจาก.bash_promptไหน? ข้อผิดพลาดใดที่แสดงเป็นพิเศษ
slhck

ที่นี่เราอยู่ นี่คือข้อผิดพลาด: .dotfiles/bash/bash_prompt:44: parse error near ]] ''
โอลิเวอร์โจเซฟแอช

วงเล็บคู่เหล่านั้นคือคำสั่งทดสอบ (ดูtldp.org/LDP/abs/html/testconstructs.html#DBLBRACKETS ) คุณอาจต้องการแทนที่วงเล็บหรือ / bin / test นั้น (ซึ่งเหมือนกับวงเล็บเหลี่ยมตัวเดียว)
Hennes

.dotfiles/bash/bash_prompt:47: = not foundขวาข้อผิดพลาดต่อไปผมมีคือ: ดูเหมือนว่าจะมีความแตกต่างเล็กน้อยระหว่างzshและbashเช่นนี้จะดีถ้าพวกเขาได้รับการบันทึกไว้ในที่เดียว
Oliver Joseph Ash

คำตอบ:


5

ไม่ได้โดยทั่วไปคุณไม่สามารถจัดหาbashสคริปต์ที่zshไม่น่าสนใจได้หากไม่มีการแก้ไขบางอย่าง

Z-เชลล์เป็นส่วนใหญ่คล้ายกับเปลือกกร [ ksh]ในขณะที่bashเป็น superset ของBourne เปลือก [sh ]

มีความแตกต่างทางไวยากรณ์ระหว่างshและkshเชลล์ แม้ว่าbashและzshจะมีคุณสมบัติครอสโอเวอร์เป็นจำนวนมาก แต่รายละเอียดการใช้งานนั้นแตกต่างกันไปในบางประเด็น

นี้เป็นที่เห็นได้ชัดโดยเฉพาะอย่างยิ่งกับif [[ "$VAR" ]];โครงสร้างที่ใช้ในการเชื่อมโยงสคริปต์ (พวกเขาดูเหมือนจะไม่ทำงานในzsh- if [ $VAR ];ไม่แม้ว่า)

อย่างไรก็ตามการปรับเปลี่ยนที่จำเป็นในการรับสคริปต์ที่เชื่อมโยงมาzshนั้นค่อนข้างน้อยมาก


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