Bash - 这叫做定义吗?
Bash - is this called a definition?
我对 bash、
还很陌生
我学会了如何使用这样的变量:
var=$(cat << EOF
this is echoed
and this as well...
EOF
)
echo "$var"
如果使用 variable
调用上面的代码,您如何调用下面的方法?这叫 a using a definition
?
def="This should be echoed\nand this as well...\n"
printf "$def"
我问的是第二种方法的正确术语。
var
和def
都是变量;也就是说,它们是您当前环境中的字符串数据的名称,在您的示例中使用 $
进行访问。
要创建每个变量,您分配一个字符串给它。这称为 分配 。从句法上讲,=
是 赋值运算符 .
一旦分配了var
和def
,它们存储数据的方式就没有区别;每种情况下存储的数据都只是一个字符串。
在 def
的分配中没有任何 "special" 需要额外的术语。但是,var
作业有两个有趣的方面:
- 正如评论中提到的,您对
cat
的使用是一种称为 "here document" 的模式。
- 要创建和捕获 "document"(这只是一个字符串),您使用的是
$()
,它是 "command substitution". 的一种形式
我对 bash、
还很陌生我学会了如何使用这样的变量:
var=$(cat << EOF
this is echoed
and this as well...
EOF
)
echo "$var"
如果使用 variable
调用上面的代码,您如何调用下面的方法?这叫 a using a definition
?
def="This should be echoed\nand this as well...\n"
printf "$def"
我问的是第二种方法的正确术语。
var
和def
都是变量;也就是说,它们是您当前环境中的字符串数据的名称,在您的示例中使用 $
进行访问。
要创建每个变量,您分配一个字符串给它。这称为 分配 。从句法上讲,=
是 赋值运算符 .
一旦分配了var
和def
,它们存储数据的方式就没有区别;每种情况下存储的数据都只是一个字符串。
在 def
的分配中没有任何 "special" 需要额外的术语。但是,var
作业有两个有趣的方面:
- 正如评论中提到的,您对
cat
的使用是一种称为 "here document" 的模式。 - 要创建和捕获 "document"(这只是一个字符串),您使用的是
$()
,它是 "command substitution". 的一种形式