2017-08-14 46 views
1

我很新来砸,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" 

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

+0

我不明白你的问题是什么? – Jdamian

+0

在var的评估中,你有什么通常被称为heredoc,是这个问题吗? – dood

+0

@Jdamian,抱歉没有说清楚,我更新了这个问题。 – nath

回答

1

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

若要创建每个变量,您分配给一个字符串。这被称为分配。在句法上,=赋值运算符

一旦分配了vardef,他们如何存储数据没有区别;在每种情况下存储的数据仅仅是一个字符串。

def的分配中没有什么“特殊”要求额外的术语。然而,也有var分配的两个有趣的方面:​​

  • 作为评论提到,你的cat使用是一个叫做"here document"模式。
  • 要创建和捕获“文档”(它只是一个字符串),您正在使用$(),这是一种形式"command substitution"