使用 here-string 登录 shell 并使用 sudo 命令时,如何从文件中读取环境变量?
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
。)
脚本的结构和我尝试的命令如下但不幸的是none成功了:
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 并使用 sudo 命令登录 shell 时,如何从文件中读取环境变量?
如果您的环境变量设置为 ubuntu 而不是 root 您将需要使用 sudo -E
-E
向安全策略表明用户希望保留其现有环境变量
我正在尝试编写一个旨在登录到远程服务器、加载环境变量并打印其中之一的小脚本。 (在实际脚本中,将使用读取的参数而不是 echo
。为了简单起见,我只使用 echo
。)
脚本的结构和我尝试的命令如下但不幸的是none成功了:
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 并使用 sudo 命令登录 shell 时,如何从文件中读取环境变量?
如果您的环境变量设置为 ubuntu 而不是 root 您将需要使用 sudo -E
-E
向安全策略表明用户希望保留其现有环境变量