我使用 Debian 6 和终端。当我输入时,su -l
我得到如下内容:
root@mycomputer:
作为提示。当我输入时,su -l someuser
我收到以下提示:
$
在那里,我无法使用 TAB 自动完成路径,源命令未知等等。如何获取每个用户的根“样式”?这取决于 bash 和 shell 之间的区别吗?
答案1
是的,这取决于使用哪个 shell。默认情况下,新用户帐户的 shell 设置为/bin/sh
Bourne shell,它不支持更高级的功能,例如行编辑、完成等。
使用chsh
更改用户的 shell。例如,
chsh -s $(which bash) someuser
会改变某些用户的外壳狂欢。您必须提供 的完整路径-s
,并且该路径应在 中列出/etc/shells
。
我不知道你目前正在使用哪一个root
,所以运行echo $SHELL
找出答案。(或者,运行getent passwd root
;shell 将是最后一个(第 7 个)字段。)
答案2
编辑用户的 .bashrc 并启用 bash 完成或输入. /etc/bash_completion
。