Ubuntu终端tab键补全不了

前端之家收集整理的这篇文章主要介绍了Ubuntu终端tab键补全不了前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境

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 SEUSERSELinux 用户映射使用指定 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

猜你在找的Ubuntu相关文章