反单引号、单引号、双引号的使用

摘自:http://bbs.csdn.net/topics/330152333
发表于: 2010-03-14 11:43:59
我在shell中使用date来获取当前日期和时间的时候,想得到以下的格式:

YYYY-MM-DD HH:MM:SS

但是我用以下的格式,得到的结果在日期和时间之间没有空格,

echo $(date +%Y-%m-%d +%H:%M:%S)

还有一个问题,如果我想要将日期和时间值赋给一个变量,该如何写,为什么以下的格式不对,

send=$($(date +%Y-%m-%d) $(date +%H:%M:%S))
回复于: 2010-03-14 11:47:01
这样就行了
C/C++ code
?

1 send=`date '+%Y-%m-%d %H:%M:%S'`
回复于: 2010-03-14 11:59:27
我推荐你看一本书 CSDN就有下载 《LINUX与UNIX Shell编程指南》

单引号
目的: 为了保护文字不被转换.除了他本身. 就是说除去单引号外, 在单引号内的所有文字都是原样输出.

双引号
目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和\开头反转换的字符外, 其余都是直接输出.

反单引号
函数转换. 但单引号内其无作用.
比如a=`date` 就是把date当命令来执行 然后把结果付给a

看看你这句
date +%Y-%m-%d +%H:%M:%S

date要把+%Y-%m-%d +%H:%M:%S当成一整句来处理吧 可是你不加单引号 是不是默认被空格分成2句了
回复于: 2010-03-14 12:00:59
我看你会使用$()  反单引号和这个的作用一样

回复于: 2010-03-14 12:02:36
但反引号内不能再引用反引号 而$()中可以引用反单引号

 

posted @ 2019-12-05 21:52  mongotea  阅读(1004)  评论(0编辑  收藏  举报