如何在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
具有相同的结果。
答案 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,你就是金币!