一尘不染

在Bash中,为什么x = 100 echo $ x不打印任何内容?

linux

我看到了这样的代码:

fqdn='computer1.daveeddy.com'

IFS=. read hostname domain tld <<< "$fqdn"
echo "$hostname is in $domain.$tld"
# => "computer1 is in daveeddy.com"

我认为它有效,因为在第三行中将其IFS分配给.了。

x=100  echo $x

但发现bash不能打印任何内容,而我希望它可以打印100..

而且,我发现x=100 echo $x; echo $xprint什么都没有,而x=100; echo $xprints 100却很混乱。

有人对此有想法吗?


阅读 311

收藏
2020-06-03

共1个答案

一尘不染

运行 将其$x展开,并将结果作为参数传递给。在其环境中不使用的值。 __echo``echo``echo``x

在第一个示例中,read使用IFS其环境中的value 分割通过here字符串接收到的字符串。

2020-06-03