Ubuntu——远程登录Ubuntu后只有一个$符号

对新添加的用户,我们远程登录Ubuntu后有时候只有一个$符号


问题描述

  • 对新添加的用户,远程登录Ubuntu后有时候只有一个$符号

问题原因

  • Ubuntu为新用户默认启动的是sh而不是bash
  • sh的命令比较少,只有一些ls, pwd这样的命令

解决方案

不修改源文件

  • 每次登录时先使用bash命令运行bash程序
  • 之后的指令都会是bash解释执行
  • bash中使用sh可会退到sh命令行
  • 该方法的缺陷在于多次执行bashsh后,会造成进程嵌套多次,这样exit指令退出时需要多次

修改源文件

  • 标记文件/etc/passwd
1
sudo vi /etc/passwd
  • 找到用户对应的启动命令并将sh(可能没有sh,直接是空白)修改为bash
    1
    2
    3
    4
    # 修改前
    jiahong:x:1001:1001::/home/jiahong:
    # 修改后
    jiahong:x:1001:1001::/home/jiahong:/bin/bash