-bash:cd:HOME 未设置

-bash:cd:HOME 未设置

今天,当我像过去 6 个月一样通过 SSH 登录到我的服务器时。但是,现在每次运行引用$HOME环境变量的命令时都会收到此错误消息:

-bash: cd: HOME not set

例如,运行时cd会引发此错误,但cd ~会正确更改到我的用户主目录。

我已经在 Google 上搜索并尝试了几个小时的各种建议,但还是很困惑。

我尝试编辑.bashrc.profile文件以包含export HOME=/home/aUser,但echo $HOME即使在注销并登录后仍然返回空。

据我所知,过去几周我没有在该服务器上安装任何软件,但每隔几天就会登录检查一下。

我使用私钥和公钥通过标准 SSH 连接字符串登录到我的服务器:

ssh -i my-server.pem [email protected]

我对 Linux 还很陌生,所以请耐心等待。

答案1

启动会话时似乎ssh不使用相同的脚本。您已经尝试过编辑了吗?init.bash_profile

这是一个类似的问题,可能会给你提供一些额外的信息: https://stackoverflow.com/questions/820517/bashrc-at-ssh-login

答案2

使用export HOME="/home/ubuntu"。它对我有用。

答案3

Ubuntu 很少回应,因此我们很容易因为最轻微的打嗝而感到恐慌!

在与

apache -S 

对阵

apachectl -S 

对阵

apache2ctl -S

并收到前者的错误,我被击中了

-bash:cd:HOME 未设置

在“cd”上!
人们永远不想在不了解事件原因的情况下采取“措施”。我认为注销/登录可以解决这个问题,而且确实如此!

尽管这看起来无害,但我认为建议

export HOME="/home/<user>" 

真是糟糕的建议。
如果重置此变量是唯一的解决方法,我会非常担心是什么“取消了”它!

相关内容