Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> MAC

วิธีการลบ เชลล์แบบโต้ตอบเริ่มต้นคือตอนนี้ zsh บน Mac?

หากคุณเพิ่งเปลี่ยนจาก zsh เป็น bash หรืออัปเดตเป็น macOS Catalina/Big Sur/Monterey คุณอาจได้รับข้อความว่า "ค่าเริ่มต้นแบบโต้ตอบเชลล์ตอนนี้คือ zsh หากต้องการอัปเดตบัญชีของคุณให้ใช้ zsh โปรดเรียกใช้ 'chsh - s /bin/zsh' สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ https://support.apple.com/kb/HT208050 " ทุกครั้งที่คุณเปิด Terminal

Apple ได้เปลี่ยนเชลล์โต้ตอบเริ่มต้นจาก bash เป็น zsh ตั้งแต่ macOS Catalina เวอร์ชัน macOS ที่ใหม่กว่า เช่น macOS Monterey/Big Sur ยังมีเชลล์เริ่มต้นที่กำหนดค่าเป็น zsh หากเชลล์เริ่มต้นของ Mac ยังคงเป็น bash เก่า หรือคุณตั้งค่า Terminal ให้เปิดด้วย bash หรือเชลล์อื่นๆ เมื่อเรียกใช้ระบบปฏิบัติการเหล่านี้ คุณจะเห็นคำเตือน

คุณต้องสับสนถ้าคุณไม่คุ้นเคยกับ Terminal และเชลล์แบบโต้ตอบ แต่ไม่ต้องกังวล เราจะช่วยให้คุณเข้าใจ "เปลือกโต้ตอบเริ่มต้นคือตอนนี้ zsh" ลบออกและเปลี่ยนเชลล์โต้ตอบเริ่มต้นบน Mac หากคุณต้องการ

คำแนะนำสำหรับ "ตอนนี้เชลล์แบบโต้ตอบเริ่มต้นคือ zsh" บน Mac:

  • 1. 'เชลล์แบบโต้ตอบเริ่มต้นคือ zsh แล้ว' หมายถึง?
  • 2. วิธีลบ 'เปลือกโต้ตอบเริ่มต้นคือตอนนี้ zsh'?
  • 3. bash กับ zsh สำหรับ Mac
  • 4. คำถามที่พบบ่อยเกี่ยวกับ 'เชลล์แบบโต้ตอบเริ่มต้นคือ zsh แล้ว' บน Mac

'เปลือกโต้ตอบเริ่มต้นคือ zsh แล้ว' หมายถึง?

มีเชลล์แบบโต้ตอบหลายแบบที่ตีความและดำเนินการคำสั่งที่เราป้อนใน Terminal บน Mac ในหมู่พวกเขา zsh(Z shell) และ bash(Bourne again shell) ถูกใช้บ่อยขึ้น

บน macOS Mojave และรุ่นก่อนหน้า bash เป็นเชลล์แบบโต้ตอบเริ่มต้น แต่ Apple ติดอยู่กับ bash เวอร์ชัน 3.2 (เปิดตัวในปี 2549) มาเป็นเวลานานเนื่องจากเวอร์ชัน bash ใหม่ได้รับอนุญาตภายใต้ GPLv3 ซึ่งจำกัดเฉพาะบริษัทอย่าง Apple ที่ลงนามในรหัสของตนเอง ฉันเดาว่านั่นเป็นเหตุผลส่วนหนึ่งที่พวกเขาต้องการเปลี่ยนเชลล์เริ่มต้นของ macOS

เริ่มต้นจาก macOS Catalina zsh แทนที่ bash เป็นเชลล์เริ่มต้นบน Mac เพราะเข้ากันได้กับ bash มากที่สุดและใกล้เคียงกับฟังก์ชันการทำงานของ bash Apple ยังฝังคำเตือนใน Terminal เพื่อเตือนผู้ใช้ที่ไม่ได้เปลี่ยนไปใช้ zsh การปรับค่าและโปรโมตการอัปเดต

หากบัญชีผู้ใช้ของคุณถูกสร้างขึ้นก่อน macOS Catalina ซึ่งยังคงมี bash เป็นเชลล์เริ่มต้น หรือคุณเรียกใช้ bash shell ขณะที่ Mac ของคุณถูกตั้งค่าให้ใช้ zsh คุณจะเห็นข้อความว่า "The default interactive shell is now zsh. หากต้องการอัปเดตบัญชีของคุณให้ใช้ zsh โปรดเรียกใช้ `chsh -s /bin/zsh` สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ https://support.apple.com/kb/HT208050" ในเทอร์มินัล

จะลบ 'ค่าเริ่มต้นแบบโต้ตอบเชลล์ตอนนี้คือ zsh' ได้อย่างไร

หากคุณไม่ได้ใช้ Terminal บ่อยนัก คุณสามารถเพิกเฉยต่อข้อความได้ มิฉะนั้น คุณสามารถ ลบ "เปลือกโต้ตอบเริ่มต้นคือตอนนี้ zsh" บน Monterey/Big Sur/Catalina ด้วยวิธีการดังต่อไปนี้

  • วิธีที่ 1:เปลี่ยนเชลล์เริ่มต้นเป็น zsh
  • วิธีที่ 2:ซ่อน 'เชลล์แบบโต้ตอบเริ่มต้นคือตอนนี้ zsh' และใช้ bash ต่อไป
  • วิธีที่ 3:เปลี่ยนไปใช้ bash ที่ส่งโดย Homebrew

คุณคลิกปุ่มด้านล่างเพื่อแชร์โซลูชันเหล่านี้กับแพลตฟอร์มที่คุณชื่นชอบ

วิธีที่ 1:เปลี่ยนเชลล์เริ่มต้นเป็น zsh

นอกจากสถานการณ์ที่เราระบุไว้ข้างต้นแล้ว คุณยังสามารถพบ "เชลล์แบบโต้ตอบเริ่มต้นคือตอนนี้ zsh" บน Mac เมื่อเรียกใช้ Python หรือไฟล์บางไฟล์ภายใต้โฟลเดอร์ใน VSCode หากคุณพร้อมที่จะยอมรับ zsh เหมือนกับที่หลายๆ คนทำ คุณสามารถเปลี่ยนเชลล์แบบโต้ตอบเริ่มต้นบน Mac ได้โดยใช้คำสั่ง "The default interactive shell is now zsh" คำเตือนแนะนำ

ทำตามขั้นตอนด้านล่างเพื่อเปลี่ยนเชลล์เป็น zsh โดยใช้ Terminal:

  1. เปิด Terminal ถ้ายังไม่ได้เปิด
  2. ป้อนคำสั่งต่อไปนี้แล้วกด Enter.chsh -s /bin/zsh
  3. พิมพ์รหัสผ่านของคุณแล้วกด Enter อีกครั้ง
  4. รีสตาร์ท Mac เพื่อให้การเปลี่ยนแปลงมีผล

หรือเปลี่ยน bash เป็น zsh จากบานหน้าต่างการตั้งค่าผู้ใช้และกลุ่ม

วิธีเปลี่ยนเป็น bash จาก zsh จาก System Preferences:

  1. คลิกเมนู Apple> การตั้งค่าระบบ> ผู้ใช้และกลุ่ม
  2. แตะที่แม่กุญแจที่ด้านซ้ายล่าง ป้อนรหัสผ่านของคุณ แล้วคลิกปลดล็อก
  3. คลิกขวาที่บัญชีของคุณและเลือก "ตัวเลือกขั้นสูง" วิธีการลบ เชลล์แบบโต้ตอบเริ่มต้นคือตอนนี้ zsh บน Mac?
  4. เลือก /bin/zsh จากเมนูแบบเลื่อนลงถัดจาก "เปลือกการเข้าสู่ระบบ" วิธีการลบ เชลล์แบบโต้ตอบเริ่มต้นคือตอนนี้ zsh บน Mac?
  5. คลิกตกลง
  6. รีบูต Mac ของคุณ

เมื่อคุณจัดการเปลี่ยนเชลล์โต้ตอบเริ่มต้นบน Mac เป็น zsh แล้ว คุณจะไม่ได้รับข้อความว่า "โต้ตอบเชลล์เริ่มต้นคือ zsh แล้ว"

วิธีที่ 2:ซ่อน 'เชลล์โต้ตอบเริ่มต้นคือตอนนี้ zsh' และใช้ bash ต่อไป

หากคุณทราบถึงประโยชน์ของ zsh เช่น การปรับแต่งเพิ่มเติมและการเติมข้อความอัตโนมัติที่ชาญฉลาดขึ้น แต่ยังคงชอบ bash ที่คุ้นเคย คุณสามารถซ่อน 'The default interactive shell is now zsh' โดยการเพิ่มบรรทัดของโค้ด (ส่งออก BASH_SILENCE_DEPRECATION_WARNING=1) ไปยังไฟล์ใดไฟล์หนึ่งต่อไปนี้:~/.bash_profile, ~/.profile หรือ ~/.bashrc

วิธีกำจัดการแจ้งเตือนเมื่อเครื่อง Mac แสดง 'เปลือกโต้ตอบเริ่มต้นคือ zsh':

  1. เปิดเทอร์มินัล
  2. ป้อนคำสั่งด้านล่างแล้วกด Enter เพื่อเพิ่มบรรทัดใน ~/.bash_profile.touch ~/.bash_profile &&echo "export BASH_SILENCE_DEPRECATION_WARNING=1">> ~/.bash_profile

หากการแก้ไข ~/.bash_profile ไม่ได้ผล ให้แทนที่ ~/.bash_profile ในโค้ดด้วย ~/.profile หรือ ~/.bashrc แล้วรันคำสั่งอีกครั้ง น่าแปลกที่ผู้ใช้บางคนที่ใช้ zsh อยู่แล้วอาจได้รับคำเตือนเมื่อเปิดคอนโซลใหม่ ในกรณีนี้ การรูทและการเพิ่มบรรทัดใน /etc/profile จะเชื่อถือได้มากกว่า

ลบ "เปลือกโต้ตอบเริ่มต้นคือตอนนี้ zsh" บน Monterey/Big Sur/Catalina:

  1. เปิดเทอร์มินัล
  2. พิมพ์คำสั่งต่อไปนี้แล้วกด Enter เพื่อแก้ไข /etc/profile เป็น root.sudo nano /etc/profile
  3. ป้อนรหัสผ่านของคุณแล้วกด Enter
  4. แตะที่ลูกศรลงเพื่อย้ายเคอร์เซอร์ไปที่บรรทัดภายใต้ "# System-wide .profile for sh(1)"
  5. คัดลอกและวางข้อความด้านล่างไปยัง line.export BASH_SILENCE_DEPRECATION_WARNING=1 วิธีการลบ เชลล์แบบโต้ตอบเริ่มต้นคือตอนนี้ zsh บน Mac?
  6. กด Control + X จากนั้นพิมพ์ "y" เพื่อยืนยันการเปลี่ยนแปลง
  7. กด Enter เพื่อออกจาก nano
  8. ปิดเทอร์มินัล
  9. รีสตาร์ท Mac ของคุณ

วิธีที่ 3:เปลี่ยนไปใช้ bash ที่ส่งโดย Homebrew

หากคุณต้องการใช้ bash ที่ใหม่กว่าและกำจัด 'The default interactive shell is now zsh' บน Monterey/Big Sur/Catalina คุณสามารถสลับไปใช้ bash ที่มาพร้อมกับ Homebrew ซึ่งไม่มีรหัสรวมอยู่ใน bash ของ Apple เพื่อแสดงคำเตือน หลังจากติดตั้ง Homebrew บน Mac คุณสามารถใช้ bash ใน Homebrew จากนั้นอัปเดตเป็น bash ล่าสุด (ปัจจุบันคือ 5.1.16)

วิธีลบ "เปลือกโต้ตอบเริ่มต้นคือตอนนี้ zsh" บน Catalina/Big Sur/Monterey โดยอัปเดต bash:

  1. เปิดเทอร์มินัล
  2. พิมพ์คำสั่งด้านล่างแล้วกด Enter เพื่อติดตั้ง Xcode.xcode-select --install
  3. คลิกติดตั้งเพื่อยืนยันการติดตั้ง
  4. รอให้เสร็จก่อน
  5. ป้อนคำสั่งต่อไปนี้ใน Terminal แล้วกด Enter เพื่อติดตั้ง Homebrew./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  6. อาจใช้เวลาสักครู่สำหรับ Homebrew ในการติดตั้งและอัปเดต
  7. หากคุณได้รับคำเตือนว่า /opt/homebrew/bin ไม่ได้อยู่ใน PATH ของคุณ ให้คัดลอกและวางคำสั่งที่ Homebrew แนะนำ แล้วกด Enter เพื่อเพิ่ม Homebrew ใน PATH ของคุณ
  8. เรียกใช้คำสั่งด้านล่างเพื่ออัปเดต bash:brew update &&brew install bash &&sudo chsh -s /usr/local/bin/bash $(whoami)

คุณเลือกโซลูชันใด คลิกปุ่มด้านล่างเพื่อแชร์โพสต์นี้กับเพื่อนของคุณ!

bash กับ zsh สำหรับ Mac

เช่นเดียวกับ bash zsh ก็มาจากตระกูลเชลล์ "Bourne" ดังนั้นพวกมันจึงดูคล้ายคลึงกันนอกกรอบ แต่ zsh นั้นปรับแต่งและขยายได้มากกว่า bash เนื่องจากคุณสามารถเพิ่มฟังก์ชันใหม่ๆ ได้อย่างง่ายดายและมีปลั๊กอินให้เลือกมากมาย

Zsh ได้รับการออกแบบมาเพื่อปรับปรุงการโต้ตอบกับผู้ใช้ ดังนั้นจึงมีคุณลักษณะหลายอย่างที่ไม่มีอยู่ใน bash หรือทำงานได้อย่างมีประสิทธิภาพน้อยกว่าใน bash เช่น การเติมข้อความอัตโนมัติ การเน้นไวยากรณ์ การแก้ไขอัตโนมัติ เลขทศนิยม และอื่นๆ อีกมากมาย อย่างไรก็ตาม bash มีข้อได้เปรียบในการเป็นเชลล์เริ่มต้นของเครื่องและเซิร์ฟเวอร์ Linux ส่วนใหญ่ ซึ่งโปรแกรมเมอร์ยังคงใช้กันอย่างแพร่หลาย

หากคุณเป็นผู้ใช้ Mac ทั่วไปที่ใช้ Terminal เป็นครั้งคราว คุณสามารถละเว้นข้อความหรือเปลี่ยนเชลล์เป็น zsh ตามที่ Apple แนะนำ หากคุณทำงานกับแพลตฟอร์มต่างๆ ที่ bash เป็นเชลล์ทั่วไป คุณควรพิจารณารับ bash ที่อัปเดตด้วย Homebrew หากคุณตกอยู่ในระหว่างนั้น คุณสามารถระงับคำเตือนและใช้ bash ที่คุ้นเคยต่อไปได้

คำถามที่พบบ่อยเกี่ยวกับ 'เชลล์แบบโต้ตอบเริ่มต้นคือ zsh แล้ว' บน Mac

ถามเชลล์โต้ตอบเริ่มต้นบน Mac คืออะไร อา

Apple เปลี่ยนเชลล์เริ่มต้นของ macOS จาก bash เป็น zsh ตั้งแต่ macOS Catalina

ถามเหตุใด macOS จึงเปลี่ยนเป็น zsh อา

Apple ตัดสินใจเปลี่ยนเชลล์เริ่มต้นบน Mac เนื่องจาก bash ของ Mac ติดอยู่ที่เวอร์ชัน 3.2 เป็นเวลาหลายปีในขณะที่ bash เวอร์ชันล่าสุดคือ 5.1 และพวกเขาไม่ได้วางแผนที่จะอัปเดตเนื่องจาก bash เวอร์ชันใหม่ได้รับอนุญาตภายใต้ธุรกิจ -GPLv3 ที่ไม่เป็นมิตร Zsh มีฟังก์ชันคล้ายกับ bash แต่มีการโต้ตอบและปรับแต่งได้มากกว่า ดังนั้น Apple จึงเลือกที่จะเปลี่ยนเชลล์เริ่มต้นเป็น zsh

ถามฉันจะเปลี่ยนเชลล์เชิงโต้ตอบเริ่มต้นบน Mac ได้อย่างไร อา

คุณสามารถเปลี่ยนเชลล์แบบโต้ตอบเริ่มต้นบน Mac ได้โดยใช้เทอร์มินัลหรือบานหน้าต่างการตั้งค่าระบบผู้ใช้และกลุ่ม ตัวอย่างเช่น หากคุณต้องการเปลี่ยน zsh เป็น bash บน Mac ให้รันคำสั่งนี้:chsh -s /bin/bash ใน Terminal จะทำงาน หรือคุณสามารถเปิด System Preferences> Users &Groups> คลิกขวาที่ชื่อบัญชีของคุณ> เลือก Advanced Options> เลือก bin/bash สำหรับ Login Shell

ถามฉันจะทำให้ zsh เป็นเชลล์เริ่มต้นบน Mac ได้อย่างไร อา

วิธีที่เร็วที่สุดในการทำให้ zsh เชลล์เริ่มต้นของ macOS ของคุณรันคำสั่ง:chsh -s /bin/zsh ใน Terminal