请教一下关于命令替换
我在一本书上看到这样一节:命令替换允许将管道行的输出赋值给变量。下面的例子有助于说明这一点:
$date
Wed Jun 14 22:50:52 BST 1995
$datestore='date'
$echo $datestore
Wed Jun 14 22:51:40 BST 1995
本例中第一条命令date用来显示它的输出格式,第二条命令放在引号中,使得date命令的标准输出直接赋值给变量datestore。
我看了就觉得不对呀,datestore='date'是把字符串date赋值给变量datestore,然后再用echo $datestore应该输出的是datestore的值,也就是字符串date。然后我实验了一下果然输出了一个date,而不是当前的时间。我不知道是书上的例子写错了,还是我没看懂他的意思。谁能给我解释一下“第二条命令放在引号中,使得date命令的标准输出直接赋值给变量datestore”什么意思哦?我觉得这本书前面的写的都很好,一步一步由浅到深,讲的很明白,就是看到这里不明白。 问题解决了,把datestore='date'改成datestore=$(date)就可以了,估计是老版本的shell可以象'date'这样来用,新的就不允许了。 都可以的
我估计是你把`写成了单引号。
用于命令替换的这个符号是数字键 1 左边的那个。 :mrgreen: 啊~~~~~原来是这样啊,怪不的呢,该死这个`和’不注意很容易混 neosnake,谢谢你的签名档中的两个链接,为广大公社兄弟服务 :mrgreen:
页:
[1]