当你想给别名提供参数时,我看到了很多bash别名问题,但我认为我的情况完全不同。
这是我想要做的代码:
wp post create --path="/var/www/html/web-page/" --post_status="publish" --post_category="$1" --post_title="$2" --edit
我不能做别名,我需要一个函数,所以这就是我所做的:
post() {
wp post create --path=/var/www/html/web-page/ --post_status=publish --post_category=$1 --post_title=$2 --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='$1' --post_title='$2' --edit;
}
它不接受参数,它使用$ 1和$ 2作为文本。
但是有些不对劲我无法看到它。
我认为这与syntaxis
有关感谢您的帮助!!
答案 0 :(得分:0)
我使用别名,它适用于:
简单的引号和没有引号的变量:
post() {
wp post create --path='/var/www/html/web-page/' --post_status='publish' --post_category=$1 --post_title=$2 --edit'';
}
alias post="post"
它也适用于doble引号:
post() {
wp post create --path="/var/www/html/web-page/" --post_status="publish" --post_category="$1" --post_title="$2" --edit"";
}
alias post="post"
它也适用于doble引号而没有;最后
post() {
wp post create --path="/var/www/html/web-page/" --post_status="publish" --post_category="$1" --post_title="$2" --edit""
}
alias post="post"
它也适用于简单的引号而没有;最后
post() {
wp post create --path='/var/www/html/edgardo/' --post_status='publish' --post_category=$1 --post_title=$2 --edit''
}
alias post="post"
它使用别名而没有别名,我写下来只是为了告诉你,也许它会帮助别人。
当我想要一个post_title时,我可以用''和""并且它有效,但如果post_title没有空格,它也可以在没有引号的情况下工作。
非常感谢你的时间,对不起我还在学习......