今天,当我像过去 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>"
真是糟糕的建议。
如果重置此变量是唯一的解决方法,我会非常担心是什么“取消了”它!