[英]How environment variables can be read from a file when going into a login shell with here-string and using the sudo command?
我正在尝试编写一个旨在登录远程服务器、加载环境变量并打印其中一个的小脚本。 (在实际脚本中,将使用读取的参数而不是echo
。为了简单起见,我在这里只使用echo
。)
脚本的结构和我尝试过的命令如下,但不幸的是没有成功:
ssh -i lightsail.pem ubuntu@production <<< '
sudo echo $TEST_PARAMETER
sudo sh -c "~/Environment/environment-variables.sh && echo $TEST_PARAMETER"
sudo bash -c "~/Environment/environment-variables.sh && echo $TEST_PARAMETER"
sudo bash -c "source ~/Environment/environment-variables.sh && echo $TEST_PARAMETER"
sudo bash <<< "source ~/Environment/environment-variables.sh && echo $TEST_PARAMETER"
';
当使用 here-string 进入登录 shell 并使用 sudo 命令时,如何从文件中读取环境变量?
如果您的环境变量是为 ubuntu 而不是 root 设置的,您将需要使用sudo -E
-E
向安全策略表明用户希望保留其现有环境变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.