将带有空格的字符串作为参数放入以其他用户身份运行的脚本中

将带有空格的字符串作为参数放入以其他用户身份运行的脚本中

我创建了 bash 脚本以作为另一个用户执行 wp cli,但在放置带有空格的字符串时遇到问题。

我的 Bash 脚本:

user=$1
domain=$2
post_title='post title example'
post_content='post content example'

path="/home/$user/web/$domain/public_html"

su - $user -s /bin/bash -c 'wp post create --post_title='\'$post_title\'' --post_content='\'$post_content\'' --path='$path'' 2>&1

它返回错误:

title: -c: line 1: unexpected EOF while looking for matching `''
title: -c: line 2: syntax error: unexpected end of file

答案1

尝试这种方法:

su - "$user" -s /bin/bash -c 'wp post create --post_title='\'"$post_title"\'' --post_content='\'"$post_content"\'' --path='"$path"'' 2>&1

相关内容