有人可以说这句话是做什么的。 P.s:我对shell脚本更新了,我试图理解这个陈述。 声明:
y1=`echo $y $l $tol | awk '{print $1 + $2 - $3}'`
答案 0 :(得分:1)
<强> 1。第一部分:echo $y $l $tol
:
通过y
命令打印3个shell变量l
tol
和echo
。
<强> 2。管道(|
):
这意味着prevous命令的输出被重定向到以下命令的输入(awk
命令)。有关重定向的详细信息,请参阅I/O Redirection。
第3。第二部分:awk '{print $1 + $2 - $3}'
:
awk
是文本操作的必备元素。在这种情况下,awk
从输入读取(echo
命令打印出来的内容)并逐行处理。您在awk语句中看到的内容适用于来自输入的每一行。 (在这种情况下,它只有一行)。
awk
打印y+l-tol
的结果,现在是一位数(我假设,取决于y
,l
和tol
是什么。
<强> 4。周围的反引号(``):
那是command substitution。 shell通过执行反引号内部的操作并使用命令的标准输出替换它来执行扩展。
<强> 5。变量`y1 =:
以上所有内容都没有打印到shell中,它被指定为名为y1
的shell变量的值。完成该作业后,您可以使用echo $y1
打印该值。