2 如何将此heredoc定义的变量传递给命令? read -r -d '' tables <<'EOF' table1 table2 table3 EOF tables=$(tr '\n' ' ' < "$tables"); 我希望将table变量定义为: table1 table2 table3 shell — 粘土 source
1 使用bash,您可以使用here-string tables=$(tr '\n' ' ' <<< "$tables") 使用其他shell,您可以使用另一个此处文档 tables=$(tr '\n' ' ' << END $tables END ) — 格伦杰克曼 source
0 我通常只使用多行字符串。 tables=" table1 table2 table3" echo $tables for table in $tables; do echo $table; done heredoc在我的系统上等同地对待 你 — BillThor source
0 获得多行变量后,您可以使用echo: echo "$tables" | tr '\n' ' ' 请务必使用双引号来保护换行符。相比: $ echo $tables | tr '\n' '_' table1 table2 table3_ 有: $ echo "$tables" | tr '\n' '_' table1_table2_table3_ — 赛勒斯 source