1

我对 bash 很陌生,

我学会了使用这样的变量:

var=$(cat << EOF
this is echoed
and this as well...
EOF
)

echo "$var"

如果上面的代码是使用 avariable调用的,你如何调用下面的方法?这叫做 a using adefinition吗?

def="This should be echoed\nand this as well...\n"

printf "$def"

我在询问第二种方法的正确术语。

4

1 回答 1

1

var和都是def变量;也就是说,它们是您当前环境中的字符串数据的名称,$在您的示例中使用 as 进行访问。

要创建每个变量,请为其分配一个字符串。这称为分配。从语法上讲,=赋值运算符

一旦vardef被分配,它们存储数据的方式就没有区别;每种情况下存储的数据只是一个字符串。

没有什么“特殊”需要在def. var然而,这项任务有两个有趣的方面:

  • 正如评论中提到的,您使用的cat是一种称为“此处文档”的模式。
  • 要创建和捕获“文档”(只是一个字符串),您使用的是“命令替换”$()的一种形式。
于 2017-08-14T23:27:49.683 回答