为新用户选项卡自动完成

我做了一个新的Linux用户

useradd -d /var/www/mywebsite.com -m newuser passwd newuser 

我使用以下命令通过login到服务器来testing帐户

 ssh [email protected] 

login后,shell不让我做标签自动完成。 例如,我会input/ var / www / myweb {tab},但是tab键只在shell中input一个空格。 另外,按向上和向下箭头键不会给我最近input的shell命令。

当我以root身份login时,一切正常。 但是,当我以新用户的身份login时,它不起作用。

我错过了什么?

谢谢

检查'newuser'使用的是什么shell。 确保它是一个实际上支持标签完成(如bash或zsh)的标签。

您可以使用以下命令确定用户正在使用的shell

 # getent passwd rodjek rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh 

您可以使用chsh命令更改用户shell

 # chsh -s /bin/bash rodjek 

在我的系统选项卡上,autocompletion被添加:

 if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi 

在.bashrc中。 Bashrc不会为新用户创build,因为它不在/ etc / skel中。 使用上面的代码在/ etc / skel中创build.bashrc,它将适用于新用户。 然后将文件复制到刚刚创build的新用户,以便它们也能工作。

你有没有检查你的新用户有相同的shell作为你的root用户? 它似乎是你的根用户打了你喜欢的东西,你的新用户有一个ksh或类似的东西。 看看/ etc / passwd文件或SHELL环境variables。

创build帐户之前,文件夹/var/www/mywebsite.com是否存在?

你能检查/ etc / skel的内容被复制到主目录/var/www/mywebsite.com吗?

新帐户是否得到不支持自动完成的不同的shell?