使用 sudo 在脚本中执行 aws 命令

execute aws command in script with sudo

我是 运行 一个带有 sudobash 脚本,并且已经尝试了下面的操作,但是在使用 aws cp 时遇到了下面的错误。我认为问题在于脚本正在寻找 /root 中不存在的 config。但是 -E 不保留原始位置吗?是否有一个选项可以与 aws cp 一起使用来传递 config 的位置。谢谢 :).

sudo -E bash /path/to/.sh
   - inside of this script is `aws cp`

错误

The config profile (name) could not be found


I have also tried `export` the name profile and `source` the path to the `config`

您可以像这样使用原始用户:

sudo -u $SUDO_USER aws cp ...

您也可以 运行 使用 source 而不是 bash 的脚本——使用 source 将导致脚本 运行 在同一个 shell 作为你的开放终端 window,它将把相同的环境放在一起(比如用户)——尽管老实说,@Philippe 的回答更好,更正确。