我正在调用一个Python脚本作为包的一部分从我编写的Bash脚本中提供,该脚本除了执行各种其他操作外还调用脚本。具体来说,在Bash脚本的早期,我使用Zenity密码对话框来获取用户的MySQL root密码并将其存储在Bash变量中以进行一些数据库设置。稍后,调用Python脚本,它也需要用户的MySQL root密码。
我尝试使用管道和here字符串重复使用包含密码的变量,但两者都不起作用;脚本只是挂在那里,直到我返回终端并再次输入密码。我挖了一下Python脚本,发现它使用getpass来询问密码。有什么方法可以从之前创建的Bash变量中输入密码,这样我只需要通过GUI向用户询问一次吗?
答案 0 :(得分:3)
如果信息已经存在于bash变量中(比如名称为pwd
),恕我直言最简单的解决方案是将其导出到环境中。
export pwd
然后你可以在Python脚本中获取它:
pwd = os.environ('pwd')