在centos中使用python脚本执行命令时如何自动确认?
在centos中使用python脚本执行命令时如何自动确认 例如,在centos中使用python脚本执行命令时如何自动确认?,python,laravel,centos,Python,Laravel,Centos,在centos中使用python脚本执行命令时如何自动确认 例如, 下面有一个命令,它有一个确认步骤: [root@vagrant-prod ~]# php artisan key:generate ************************************** * Application In Production! * ************************************** Do you really wish to run this
下面有一个命令,它有一个确认步骤:
[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或两个
yes
s具有相同的结果。您可以像这样使用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,您就是黄金 yes
命令帮助的Did可能重复???@Maraboc yes。它起作用了@Maraboc再次看到我的更新,谢谢。好的,像这样试试php artisan key:generate--force
它将跳过确认步骤;)为什么有两个yes
s?因为只有yes命令会向终端回显“y”。将一个参数传递给yes会导致它回显该参数。等等,那么yes会取消它吗?wird.system.com像是| yum安装wget
,没问题。上面的php artisan键:generate
是php命令,确认由php定义。