现在我有这个:
db_conn="mysql -sN -u$db_user -p$db_user_passwd -h$db_host -P$db_port -D$db_name"
query=`$db_conn <<-QRY
SELECT foo
FROM bar
WHERE baz = 1;
QRY`
但我讨厌使用反引号来调用命令。如何使用$(...)
?
答案 0 :(得分:1)
您可以使用反斜杠:
db_conn="mysql -sN -u$db_user -p$db_user_passwd -h$db_host -P$db_port -D$db_name"
query=$($db_conn \
SELECT foo \
FROM bar \
WHERE baz = 1; \
)
当然,这意味着您在结果字符串中没有换行符,除非您自己添加。
答案 1 :(得分:1)
在heredoc分隔符后插入换行符:
query=$($db_conn <<-QRY
SELECT foo
FROM bar
WHERE baz = 1;
QRY
)