laravel执行下面php artisan命令的时候,有一个确认步骤:
[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
#重新生成key
def regenerate_key():
os.system('cd /var/www/laravel_blog && php artisan key:generate')
if __name__ == "__main__":
regenerate_key()
执行上面的脚本:
[root@vagrant-prod ~]# python3 auto.py
问题:
执行脚本和直接输入命令一样,会要求确认。怎么让这个脚本自动确认,而不用手动再输yes?
一种是使用自身的--no-interaction选项;
另一种是使用进程间通信,向php进程的标准输入写入"yes",比如:
还有一种简单的方法,yes命令会不断输入yes,直到命令结束: