在機器上給同事開了一個賬號,結果ssh登陸后,補全,高亮都沒有,但是我自己的賬號都可以.首先懷疑是.bashrc文件設置有問題,對比2個用戶目錄的這個文件並未發現可以的地方.搜索得知可能是所使用的shell不同,因為補全一般是通過一個與之對應的補全腳本或者內置補全功能,所有推斷2個用戶使用的shell不同,於是在2個用戶下分別 echo $SHELL,果不其然,一個是/bin/bash,一個是/bin/sh,而sh又是一個符號鏈接,指向/bin/dash,ubuntu默認采用的是dash,一般通過/bin/sh的符號鏈接來指向,如果要切換它指向bash,執行:
sudo dpkg-reconfigure dash
選擇是,否即可切換ubuntu默認shell,但是這樣一來就影響了其他用戶,能否針對於不同的用戶單獨指定其使用的shell呢?打開/etc/passwd文件:
用戶對應的最后一個字段就指定了用戶登陸時使用的shell類型,如果不指定,那么就使用默認的/bin/sh.如何修改這個設置呢?
sudo usermod -s 用戶名 shell類型