我正在从 App Engine 应用程序启动 Google Compute Engine VM。GCE VM 的启动脚本运行 python 脚本,而这些脚本又使 os.system 调用 bdutil 命令,例如,
os.system("bdutil --bucket <BUCKET> --num_workers 1 "
"--env_var_files hadoop2_env.sh --default_fs hdfs "
"--zone us-central1-b --prefix <NAME> --force deploy")
我发现有必要以 root 身份运行这些脚本,例如,
sudo python script.py
--force deploy
命令选项按预期工作,即shell终端显示:
Deploy cluster with following settings?
....
(y/n) y
但是,还包括另一个提示:
Are you sure you want to run the command as root? (y/n)
我发现我需要以 root 身份执行这些脚本,但我也在远程执行它们,无法响应终端提示。
如何在不响应最终提示的情况下强制执行此 bdutil 命令?修改 bdutil 源代码不是一个可行的选择。