ฉันไม่ชอบที่จะพิมพ์ปลาทุกครั้งที่ฉันเริ่มต้นสถานี ฉันต้องการfish
โดยค่าเริ่มต้น ฉันจะตั้งค่า Fish Shell เป็นเชลล์เริ่มต้นของฉันบน Mac ได้อย่างไร
ฉันไม่ชอบที่จะพิมพ์ปลาทุกครั้งที่ฉันเริ่มต้นสถานี ฉันต้องการfish
โดยค่าเริ่มต้น ฉันจะตั้งค่า Fish Shell เป็นเชลล์เริ่มต้นของฉันบน Mac ได้อย่างไร
คำตอบ:
สิ่งเหล่านี้สามารถใช้ได้กับ MacOS Sierra 10.12.5 (16F73) และอาจเป็น MacOS รุ่นล่าสุดและที่กำลังจะมาถึง
chsh
ไม่เพียงพอที่จะเปลี่ยนเปลือกเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณกดCommand+ ,ขณะที่เทอร์มินัลของคุณเปิดอยู่และเปลี่ยนตัวเลือก 'Shells open with' เป็น 'เชลล์ล็อกอินเริ่มต้น'
ในกรณีทุบตีตรวจสอบให้แน่ใจว่าคุณดำเนินการecho $BASH_VERSION
เพื่อยืนยันว่าคุณกำลังใช้งานทุบตีรุ่นที่ตั้งใจไว้ bash --version
ไม่ให้ข้อมูลที่ถูกต้องแก่คุณ
Preferences
ของTerminal.app ดูคำตอบนี้โดย Pankaj
1. sudo nano / etc / shells
2. เพิ่ม / usr / local / bin / fish ลงในรายการเชลล์ของคุณ
3. chsh -s / usr / local / bin / fish
Shell open with: Default login shell
การตั้งค่าของ Terminal.app
คุณสามารถใช้chshเพื่อเปลี่ยนเชลล์ของผู้ใช้
รันโค้ดต่อไปนี้เพื่อเปลี่ยนเชลล์เป็น Zsh
chsh -s /bin/zsh
ตามที่อธิบายไว้ใน manpage และโดย Lorin ถ้าเปลือกไม่เป็นที่รู้จักโดย OS /etc/shells
คุณต้องเพิ่มในรายการที่เป็นที่รู้จักของ:
chsh: /usr/local/bin/fish: non-standard shell
วิธีแก้ปัญหาคือการเพิ่มลงใน / etc / shells ตามที่อธิบายโดย @ lorin-hochstein คำตอบด้านล่าง
-s
) ฉันจะลองอีกครั้งในไม่ช้า
จากเทอร์มินัล:
เพิ่ม Fish ไปยัง/etc/shells
ซึ่งจะต้องใช้รหัสผ่านของผู้ดูแลระบบ:
sudo echo /usr/local/bin/fish >> /etc/shells
ทำให้ Fish เป็นค่าเริ่มต้นของเชลล์ด้วยchsh
:
chsh -s /usr/local/bin/fish
จากการตั้งค่าระบบ:
ผู้ใช้และกลุ่ม→ ctrl คลิกที่ผู้ใช้ปัจจุบัน→ตัวเลือกขั้นสูง ...
เปลี่ยนล็อกอินเชลล์เป็น /usr/local/bin/fish
กดตกลงออกจากระบบและเข้าอีกครั้ง
sudo sh -c 'echo /usr/local/bin/fish >> /etc/shells'
echo /usr/local/bin/fish | sudo tee -a /etc/shells
นี่เป็นอีกวิธีในการทำ:
สมมติว่าคุณติดตั้งด้วย MacPorts ซึ่งสามารถทำได้โดยทำดังนี้
sudo port install fish
/opt/local/bin/fish
เปลือกของคุณจะตั้งอยู่ใน
คุณต้องบอก OSX ว่านี่เป็นเชลล์ที่ถูกต้อง หากต้องการทำเช่นนั้นให้เพิ่มพา ธ นี้ไปยังจุดสิ้นสุดของ/etc/shells
ไฟล์
เมื่อคุณทำสิ่งนี้แล้วคุณสามารถเปลี่ยนเชลล์ได้โดยไปที่การตั้งค่าระบบ -> บัญชี คลิกที่ล็อคเพื่ออนุญาตการเปลี่ยนแปลง คลิกขวาที่บัญชีและเลือก "ตัวเลือกขั้นสูง ... " ในฟิลด์ "ล็อกอินเชลล์" ให้เพิ่มพา ธ ไปหาปลา
สิ่งเดียวที่ได้ผลสำหรับฉันคือการรวมกันของวิธีการเหล่านี้ทั้งหมด
ก่อนอื่นฉันต้องเพิ่มปลาลงใน/etc/shells
ไฟล์
จากนั้นฉันก็วิ่ง chsh -s /usr/local/bin/fish
ในที่สุดฉันพิมพ์Command+ ,และเพิ่มลง/usr/local/bin/fish
ในเส้นทางเริ่มต้นที่นั่น
หลังจากที่ฉันได้ทำทั้งสามสิ่งแล้วปลาก็เริ่มโผล่ขึ้นมาเป็นค่าเริ่มต้นสำหรับหน้าต่างเทอร์มินัลใหม่
Preferences
> General
> Shells open with:
>/bin/fish
/usr/local/bin/fish
วางการเชื่อมโยงกับคำสั่งปลาของคุณซึ่งโดยทั่วไปคือดูภาพหน้าจอนี้ที่zsh
ตั้งเป็นค่าเริ่มต้น
บน macOS Mojave ฉันต้องทำสิ่งต่อไปนี้ (ใช้ zsh เป็นตัวอย่าง):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
zsh
ไม่ต้องติดตั้ง มีอยู่ใน macOS Mojave แล้ว มาพร้อมกับ Mojave และค่าเริ่มต้นใน Catalina
วิธีรับเวอร์ชันล่าสุดของ bash บน macOS ที่ทันสมัย (ทดสอบบน Mojave)
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
จากนั้นคุณพร้อมที่จะรับแท็บสไตล์ที่สมบูรณ์ซึ่งมีเฉพาะใน bash> = 4 (เวอร์ชันปัจจุบันbrew
คือ 5.0.2
# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete
# Display a list of the matching files
bind "set show-all-if-ambiguous on"
# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"
chsh
โปรแกรมจะช่วยให้คุณเปลี่ยนเปลือกเริ่มต้นของคุณ มันจะต้องการเส้นทางแบบเต็มไปปฏิบัติการดังนั้นถ้าเปลือกของคุณเป็นแล้วมันจะต้องการให้คุณเพื่อให้การส่งออกที่ได้รับเมื่อคุณพิมพ์fish
which fish
คุณจะเห็นบรรทัดที่ขึ้นต้นด้วย " Shell:
" หากคุณไม่เคยแก้ไขมันเป็นไปได้มากว่า " Shell: /bin/bash
" แทนที่/bin/bash
พา ธนั้นด้วยพา ธ ไปยังเชลล์ที่คุณต้องการ
เมื่อใน terminal เปิดการตั้งค่าการใช้ขั้ว+Command,
บนแท็บการตั้งค่าเลือกหนึ่งในธีมและเลือกแท็บเชลล์ทางด้านขวา
fish
คุณสามารถตั้งค่าคำสั่ง autostart
งานนี้สำหรับฉันในการติดตั้งใหม่ของ mac osx (เซียร์ร่า):
sudo chown $(whoami) /etc/shells
sudo echo /usr/local/bin/fish >> /etc/shells
chsh -s /usr/local/bin/fish
sudo chown root /etc/shells
heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
> cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >
เพียงแค่เปลี่ยนค่านั้น (ด้วยคำสั่ง write in dscl
)
ในกรณีที่คุณมีปัญหากับวิธีการอื่น ๆ ทำงานบน mac Mojave แต่โดยทั่วไปควรใช้งานได้
which fish
เพิ่มเส้นทางผลลัพธ์ไปที่ "การตั้งค่าระบบ> ผู้ใช้ & กลุ่ม> ผู้ใช้คลิกขวาตัวเลือกขั้นสูง" วางผลลัพธ์จากการที่ลงใน "เปลือกเข้าสู่ระบบ:"
ในการเปลี่ยนเชลล์เริ่มต้นของคุณบน mac ให้ทำดังนี้:
chsh -s <name-of-shell>
รายการหอยที่คุณสามารถเลือกได้คือ:
ดังนั้นหากคุณต้องการเปลี่ยนจากเป็น / bin / zsh เชลล์คำสั่งของคุณจะมีลักษณะดังนี้:
chsh -s /bin/zsh
คุณสามารถดูเชลล์ที่มีอยู่ทั้งหมดในระบบของคุณโดยเรียกใช้:
cat /etc/shells