LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1796|回复: 9

$echo `echo `date``应当怎样理解??

[复制链接]
发表于 2007-3-20 18:47:18 | 显示全部楼层 |阅读模式
这几天看kernighan的《unix编程环境》,有很多是懂非懂的地方,特别是里面的习题本来还觉得有点懂的东东,一看练习就又糊涂了,
`...`应该理解为运行...中的命令输出结果代替`...`,但是如果只键入echo `date`返回的是时间,也就是Tue Mar 20 18:41:10 CST 2007是echo `date`的输出结果,我理解上面那段命令应该返回的也是
Tue Mar 20 18:41:10 CST 2007,但为什么是date??
发表于 2007-3-20 19:36:15 | 显示全部楼层
date 返回日期

`date` 错误

echo `date` 返回日期

`echo `date`` 解释为 `echo` 的结果, 跟着 date, 再跟着 `` 的结果, 也就是 ""date"", 即 date, 返回日期. 注, 这里及后面的 "" 我指的是什么也没有, 与真实的 "" 不同

echo `echo `date``, 按照上面的解释, 此句等效于 echo ""date"", 即 echo date, 返回 date

$echo `echo `date``, 与上面的不同是 $echo 等效于 "", 整句等效为 "" ""date"", 即 date, 返回日期
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-20 20:23:01 | 显示全部楼层
是的 是的!明白了,解释的太清楚了!!谢谢,呵呵
回复 支持 反对

使用道具 举报

发表于 2007-3-21 16:52:32 | 显示全部楼层
解释得很清楚,不过让我想起了一个笑话:

一位主妇给送牛奶的留下条子:"今天不要留奶。我指的今天,就是明天,因为我正在昨天写这张条子。"
回复 支持 反对

使用道具 举报

发表于 2007-3-21 17:19:41 | 显示全部楼层
Post by sprite
解释得很清楚,不过让我想起了一个笑话:

一位主妇给送牛奶的留下条子:"今天不要留奶。我指的今天,就是明天,因为我正在昨天写这张条子。"

语文学得不好, 见笑了
回复 支持 反对

使用道具 举报

发表于 2007-3-28 18:30:53 | 显示全部楼层
Post by delpiero
这几天看kernighan的《unix编程环境》,有很多是懂非懂的地方,特别是里面的习题本来还觉得有点懂的东东,一看练习就又糊涂了,
`...`应该理解为运行...中的命令输出结果代替`...`,但是如果只键入echo `date`返回的是时间,也就是Tue Mar 20 18:41:10 CST 2007是echo `date`的输出结果,我理解上面那段命令应该返回的也是
Tue Mar 20 18:41:10 CST 2007,但为什么是date??

我在 bash下得到的是日期阿
blizzard@blizzard-linux:~/script/sed$ $echo `echo `date``
2007年 03月 28日 星期三 18:24:36 CST


这个命令才是返回date
blizzard@blizzard-linux:~/script/sed$ echo `echo `date``
date
回复 支持 反对

使用道具 举报

发表于 2007-4-1 13:58:47 | 显示全部楼层
在bash中还是建议用$()来代替''吧。毕竟好读些。
看看如下能显示什么
echo $(date)
echo $(echo $(date))
回复 支持 反对

使用道具 举报

发表于 2007-4-7 14:06:34 | 显示全部楼层
echo 'date'
$echo 'date'
那个$是什么意思呢?
回复 支持 反对

使用道具 举报

发表于 2007-4-7 17:25:43 | 显示全部楼层
$就是个提示符吧
回复 支持 反对

使用道具 举报

发表于 2007-4-7 17:43:25 | 显示全部楼层
Post by jdxyw
$就是个提示符吧

$ 表示 $echo 是变量
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表