如何在centos中使用python脚本执行命令时自动确认?

时间:2017-10-06 15:49:18

标签: python laravel centos

如何在centos中使用python脚本执行命令时自动确认?

例如,
下面有一个命令,它有一个确认步骤:

[root@vagrant-prod ~]# php artisan key:generate
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

现在我想通过python脚本执行上面的命令:
auto.py

#!/usr/bin/python3
import os


def regenerate_key():
    os.system('cd /var/www/laravel_blog && php artisan key:generate')

if __name__ == "__main__":
    regenerate_key()

执行上述auto.py

[root@vagrant-prod ~]# python3 auto.py

还需要手动输入yes,我想用上面的python脚本来确认它,怎么做?

更新:

[root@vagrant-prod laravel_blog]# yes yes | php artisan key:generate
**************************************
*     Application In Production!     *
**************************************

Command Cancelled!

一个或两个yes具有相同的结果。

1 个答案:

答案 0 :(得分:1)

您可以使用yes命令,如下所示:

#!/usr/bin/python3
import os


def regenerate_key():
    os.system('cd /var/www/laravel_blog && yes yes | php artisan key:generate')

if __name__ == "__main__":
    regenerate_key()

命令yes yes只是在另一个命令的持续时间内向终端回显“是”。只需在终端中输入yes yes即可确认此行为。 请记住,Ctrl + C会停止执行命令。因此它会在提示符下输入yes,你就是金币!

相关问题