2009-01-17 40 views

回答

5

我想在這裏添加兩件重要的事情。這些適用於MacOS Sierra 10.12.5(16F73),也可能適用於其他近期和即將推出的MacOS版本。

1)chsh不足以更改默認shell。確保在終端打開時按Command + ,,並將'Shells open with'選項更改爲'Default login shell'。 2)如果是bash,請確保您執行echo $BASH_VERSION以確認您正在運行bash的預期版本。 bash --version不會給你正確的信息。

9
+2

我建議更喜歡這種方法,不要更改默認的OSX shell。例如,我在iWorks上進行了「無限安裝」 - 因爲安裝腳本假定您有SH兼容shell(而不是ZSH的情況)。 – 2016-06-13 02:12:12

4

chsh程序將讓你改變默認的shell。它需要可執行文件的完整路徑,所以如果你的shell是fish那麼它會希望你輸入which fish時給出的輸出。

您會看到一行以「Shell:」開頭的行。如果你從未編輯它,它很可能會說「Shell: /bin/bash」。將/bin/bash路徑替換爲所需外殼的路徑。

2
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 > 

只是改變該值(寫入命令在dscl)。

+0

當我運行讀取文件時出現此錯誤: DS錯誤:-14136(eDSRecordNotFound) – 2009-01-17 12:51:08

+0

是的。這是因爲leeg是_my_用戶名,不是你的:P – 2009-01-17 12:59:16

56

您可以使用chsh更改用戶的外殼。

運行下面的代碼,例如,你的shell改變巖組

chsh -s /bin/zsh 

正如在手冊頁描述,並通過洛林,如果外殼不被OS知道,你必須將它添加到其已知名單:/etc/shells

+10

試過並得到了`chsh:/ usr/local/bin/fish:非標準shell'解決方法是將它添加到/ etc/shells中,如@ lorin-hochstein所述低於 – lmsurprenant 2013-10-23 03:03:19

+0

,如果你沒有root – 2015-09-26 02:16:07

+0

dbright @ PowerMac:〜$ chsh -s/Users/dbright/sys/bin/bash將無法工作 更改dbright的shell。 dbright的密碼: chsh:/ Users/dbright/sys/bin/bash:非標準外殼 dbright @ PowerMac:〜$ ls -l/etc/shells -rw-r - r-- 1個根輪179 9月23日2007/etc/shells – 2015-09-28 21:12:31

20

這裏是另一種方式來做到這一點:

假設你使用MacPorts安裝了它,它可以通過執行來完成:

sudo port install fish 

殼牌將設在/opt/local/bin/fish

您需要告訴OSX這是一個有效的shell。爲此,請將此路徑添加到/etc/shells文件的末尾。

完成此操作後,您可以轉到系統首選項 - >帳戶來更改shell。點擊鎖定以允許更改。用鼠標右鍵單擊該帳戶,然後選擇「高級選項...」。在「登錄shell」字段中,添加魚的路徑。

4

在終端中,使用命令 + ,打開終端首選項。

在設置選項卡上,選擇其中一個主題,然後選擇右側的外殼選項卡。

您可以設置自動啓動命令fish

46

從終端:

  1. 添加魚對/etc/shells,這將需要一個管理密碼:

    sudo echo /usr/local/bin/fish >> /etc/shells 
    
  2. 做魚默認的shell與chsh

    chsh -s /usr/local/bin/fish 
    

從系統首選項:

  1. 用戶和組對當前用戶→高級選項→按住Ctrl鍵單擊...

  2. 更改登錄shell來/usr/local/bin/fish

    login shell

  3. 按確定,註銷並重新登錄

9

對我而言唯一有效的就是所有這些方法的組合。

  1. 首先,我不得不魚添加到/etc/shells文件

  2. 然後我跑chsh -s /usr/local/bin/fish

  3. 最後,我輸入命令 + 並添加/usr/local/bin/fish到默認路徑有

只有當我完成了所有三件事情之後,魚纔開始彈出作爲新的終端窗口的默認值。

166

1須藤納米/ etc/shells中 enter image description here

2.將/ usr/local/bin目錄/魚你彈 enter image description here

3 CHSH -s名單/ usr/local/bin/fish

2
  1. 打開您的終端並按命令 + (逗號)。這將打開一個偏好窗口。
  2. 第一個選項卡是'常規'。
  3. 找到'Shells open with'設置並選擇第二個選項,它需要完整的shell路徑。
  4. 將鏈接粘貼到您的fish命令中,該命令通常爲/usr/local/bin/fish

我正在使用macOS Sierra。