WP-CLI不能从Bash脚本运行

时间:2017-01-26 作者:user48745

我试图通过使用WP-CLI,使用MAMP在我的Mac上简化安装。

我做了一个简单的。sh文件:

wp core download
wp core config --dbname=dbname --dbuser=root --dbpass=root
wp db create
wp core install --url="http://localhost:8888/folder" --title="name" --admin_user="admin" --admin_password="password" --admin_email="[email protected]"
当我在终端中一行一行地输入它时,这很好,但是只要我将它变成一个。sh文件并运行它sh install.sh, 它会在数据库创建后立即停止,但实际上不会将Wordpress安装到数据库中。

这是什么原因造成的?这是wp--信息输出:

PHP binary: /Applications/MAMP/bin/php/php7.1.0/bin/php
PHP version:    7.1.0
php.ini used:   /Applications/MAMP/bin/php/php7.1.0/conf/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.0.0

3 个回复
SO网友:user42826

原因是cron脚本的环境具有最小的配置。当您作为用户登录系统时,会设置其他环境变量,允许您在不明确定义完整路径的情况下执行程序。

解决此问题的最佳方法是在cron脚本中定义程序的完整路径。即使对于系统调用,这通常也是最佳做法。例如,如果您的wp位于/usr/local/bin中,请修改您的cron脚本:

/usr/local/bin/wp core download
/usr/local/bin/wp core config --dbname=dbname --dbuser=root --dbpass=root
/usr/local/bin/wp db create
/usr/local/bin/wp core install --url="http://localhost:8888/folder" --title="name" --    admin_user="admin" --admin_password="password" --admin_email="[email protected]"

SO网友:Jules

我在使用WSL时遇到了类似的问题。问题是我创建了。Windows下的sh脚本,因此它具有Windows样式的行尾(CR LF),而不仅仅是LF。

将行尾改为LF为我修复了它。

SO网友:Aman Bansal

我创建了一个bash脚本来安装wordpress。

此脚本将自动执行以下操作:

下载并安装Wordpress自动使用密码创建默认用户安装所有默认插件按您常用的zip url安装默认或自定义主题。您可以在github上找到脚本。com公司

https://github.com/jeoga/wordpress_install_bash_script