将 Bash 中的函数参数传递给 wp-cli 程序

Give parameters to a function in Bash to a wp-cli program

我看到很多 bash 别名问题,当你想给一个别名参数时,但我认为我的是完全不同的。

这是我想要执行的代码:

  wp post create --path="/var/www/html/web-page/" --post_status="publish" --post_category="" --post_title="" --edit  

我不能做别名,我需要一个函数,所以这就是我所做的:

post() {
    wp post create --path=/var/www/html/web-page/ --post_status=publish --post_category= --post_title= --edit;
            }

然后我有这个:

$post 4 test
$Error: Too many positional arguments: --post_title=

如果我用简单的引号:

post() {
        wp post create --path='/var/www/html/web-page/' --post_status='publish' --post_category='' --post_title='' --edit;
                }

它不接受参数,它使用 $1 和 $2 作为文本。

但是有问题,我看不到。

我认为这是语法问题

感谢您的帮助!!

好的,成功了!

我使用别名并且它适用于:

单引号和不带引号的变量:

  post() {
    wp post create --path='/var/www/html/web-page/' --post_status='publish' --post_category= --post_title= --edit'';
            }
alias post="post"

它也适用于双引号:

post() {
wp post create --path="/var/www/html/web-page/" --post_status="publish" --post_category="" --post_title="" --edit"";
        }
alias post="post"

它也适用于双引号,没有;最后

post() {
    wp post create --path="/var/www/html/web-page/" --post_status="publish" --post_category="" --post_title="" --edit""
            }
alias post="post"

它也适用于简单的引号,没有;最后

post() {
wp post create --path='/var/www/html/edgardo/' --post_status='publish' --post_category= --post_title= --edit''
        }
alias post="post"

它可以使用别名和不使用别名,我写下来只是为了向您展示,也许它会对某人有所帮助。

当我想给出一个 post_title 时,我可以用 '' 和 "" 来完成它并且它可以工作但是如果 post_title 没有空格它也可以在没有引号的情况下工作。

非常感谢您的宝贵时间,抱歉我还在学习中...