自动 PuTTY 登录后,终端中仅显示美元符号作为 shell 提示符

自动 PuTTY 登录后,终端中仅显示美元符号作为 shell 提示符

当我从 Windows bat 文件执行自动 PuTTY 登录时,登录后命令提示符在 UNIX 终端中仅显示美元符号。但是当我在 PuTTY 中手动登录时,登录后,它会在 UNIX 终端中显示完整的目录名称。

我正在通过以下方式自动登录PuTTY:

putty.exe -ssh [email protected] -pw mypasswordforsomewherecom -m cmd.txt -t

在 cmd.exe 文件中,有一些可以在远程计算机上运行的 UNIX 命令:

mkdir test
/n
sh   

我观察到,.profile当我自动进行 PuTTY 登录时,用户的操作没有执行。但.profile在手动 PuTTY 登录同一台服务器时,该操作会执行。

答案1

您的脚本正在运行‘sh’shell shell,简单的$提示对于 sh 来说是完全正常的。

如果您常用的 shell 提示符包含更多信息,那么您可能正在使用bashzsh。 (但也可能是“tcsh”或“fish”或其他内容。)

  • 尝试将脚本的最后一条命令更改为bash

  • 尝试将脚本的最后一个命令更改为运行$SHELL。(实际上只是 $SHELL。)

  • 尝试-l向命令添加选项,以强制 shell 以“登录模式”运行。

答案2

您只需要更改默认 shell。通常(就像我处理这个问题时一样),您可能正在寻找 Bash。以用户(shell 仅显示“$”)的身份运行:

sudo chsh <username> -s /bin/bash

相关内容