Ubuntu終端tab鍵補全不了
阿新 • • 發佈:2019-01-02
環境
Ubuntu
情景
在Ubuntu系統下useradd
一個新的使用者,切換到該使用者時,發現終端命令列下tab
鍵補全不了
$ useradd tab # 新增tab使用者
$ passwd tab # 設定密碼
$ su - tab # 切換到tab使用者,發現按鍵盤的tab鍵補全不了
解決
谷歌發現是用useradd
命令建立使用者時沒有指定shell的路徑
$ useradd tab -s /bin/bash
$ useradd --help
用法:useradd [選項] 登入
useradd -D
useradd -D [選項]
選項:
-b, --base-dir BASE_DIR 新賬戶的主目錄的基目錄
-c, --comment COMMENT 新賬戶的 GECOS 欄位
-d, --home-dir HOME_DIR 新賬戶的主目錄
-D, --defaults 顯示或更改預設的 useradd 配置
-e, --expiredate EXPIRE_DATE 新賬戶的過期日期
-f, --inactive INACTIVE 新賬戶的密碼不活動期
-g, --gid GROUP 新賬戶主組的名稱或 ID
-G, --groups GROUPS 新賬戶的附加組列表
-h, --help 顯示此幫助資訊並推出
-k, --skel SKEL_DIR 使用此目錄作為骨架目錄
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的預設值
-l, --no-log-init 不要將此使用者新增到最近登入和登入失敗資料庫
-m, --create-home 建立使用者的主目錄
-M, --no-create-home 不建立使用者的主目錄
-N, --no-user-group 不建立同名的組
-o, --non-unique 允許使用重複的 UID 建立使用者
-p, --password PASSWORD 加密後的新賬戶密碼
-r, --system 建立一個系統賬戶
-R, --root CHROOT_DIR chroot 到的目錄
-s, --shell SHELL 新賬戶的登入 shell
-u, --uid UID 新賬戶的使用者 ID
-U, --user-group 建立與使用者同名的組
-Z, --selinux-user SEUSER 為 SELinux 使用者對映使用指定 SEUSER
現在我已經建立了tab使用者,我們可以通過修改/etc/passwd
檔案來解決tab
鍵不能補全問題
$ sudo vim /etc/passwd
# 找到tab使用者那行
# 修改前
tab:x:1000:1000::/home/tab
# 修改後
tab:x:1000:1000::/home/tab:/bin/bash
最後重啟電腦就可以了
$ sudo reboot