Bash - 这被称为定义吗?

时间:2017-08-14 22:29:19

标签: bash definition heredoc command-substitution

我对bash很新,

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

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

echo "$var"

如果使用variable调用上述代码,您如何调用以下方法?这被称为使用definition

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

printf "$def"

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

1 个答案:

答案 0 :(得分:1)

vardef都是变量;也就是说,它们是当前环境中字符串数据的名称,使用$进行访问,如示例所示。

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

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

def的分配中,没有任何“特殊”需要额外的术语。但是,var任务有两个有趣的方面:​​

  • 正如评论中所提到的,您对cat的使用是一种称为"here document"的模式。
  • 要创建和捕获“文档”(只是一个字符串),您使用的是$() "command substitution"的形式。