未设置HOME变量

兆字节

我有两个服务器,它们是相同的(我相信),生产服务器和登台服务器。

而且我在/etc/init/文件夹中有新贵脚本

description "Discoure process"

setuid deploy
setgid deploy

respawn
respawn limit 3 30

start on runlevel [2345]
stop on runlevel [06]

script
exec /bin/bash <<'EOT'
  echo \"$HOME/.rbenv\"

  cd /home/deploy/discourse/current

  bundle exec bluepill load config/discourse.pill --no-privileged --base-dir tmp/bluepill --logfile log/bluepill.log
EOT
end script

在登台服务器上,它运行良好,但是当我在生产服务器上运行该脚本时,HOME变量为空,代码echo "$HOME/.rbenv"正在评估为"/.rbenv"

这可能是个问题吗?谢谢

c0rp

在stackoverflow.com上阅读此问题,并在superuser.com上按用户阅读此答案grawity

你不应该使用$HOMEinit.d,因为它是不明确哪些用户在家中使用,直到该用户登录。

引用POSIX规范

HOME
The system shall initialize this variable at the time of login to be a pathname
of the user's home directory. See <pwd.h>.

您可以使用小技巧,myuser在脚本中获取用户的主文件夹

su - myuser -c /usr/bin/env | grep HOME

最好使用下面的脚本,因为通常可以存在其他HOME_*文件夹。JAVA_HOME

su - myuser -c /usr/bin/env | grep "^HOME="

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未设置HOME变量

来自分类Dev

Tmux未设置$ HOME

来自分类Dev

Maven错误:未设置JAVA_HOME环境变量

来自分类Dev

未设置对象变量

来自分类Dev

未设置类变量

来自分类Dev

Packer EC2_HOME:未设置EC2_AMITOOL_HOME或EC2_HOME环境变量

来自分类Dev

Packer EC2_HOME:未设置EC2_AMITOOL_HOME或EC2_HOME环境变量

来自分类Dev

python-redfish:$ HOME环境变量未设置,请检查您的系统

来自分类Dev

PHP会话变量未设置

来自分类Dev

未设置变量和方法

来自分类Dev

PHP未设置会话变量

来自分类Dev

对象变量未设置错误

来自分类Dev

测试变量是否未设置

来自分类Dev

未设置变量和方法

来自分类Dev

bash导出未设置变量

来自分类Dev

未设置变量{5}的值

来自分类Dev

Pydoop Java Home未设置安装问题

来自分类Dev

Eclipse:未设置JAVA_HOME

来自分类Dev

错误:未设置ANDROID_HOME。如果已设置,请注意环境变量与ANDROID_SDK冲突

来自分类Dev

未设置对象变量或带块变量

来自分类Dev

Eclipse项目范围的错误:警告:未设置环境变量HOME。以下目录将用于存储Git

来自分类Dev

Eclipse项目范围的错误:警告:未设置环境变量HOME。以下目录将用于存储Git

来自分类Dev

如何解决错误“ vncserver:未设置HOME环境变量”-代表用户从PHP运行Python脚本?

来自分类Dev

未设置NODE_DEBUG变量

来自分类Dev

VBA错误91:未设置对象变量

来自分类Dev

未设置登录过程变量

来自分类Dev

PHP开关-如果未设置变量,则默认

来自分类Dev

GOPATH环境变量未设置

来自分类Dev

Makefile-如果未设置变量则出错