【已解决】关于重定向符的一个问题

【已解决】关于重定向符的一个问题

对于echo 2*3 >5 is a valid inequality,为什么得到的文件5中结果是2*3 is a valid inequality?而不仅仅是2*3?也就是说5后面的字符为什么也会输出?哪位能给我讲解一下其中的原因,小弟不胜感激!

      
#echo 2*3 >"5 is a valid inequality"      
引用:
原帖由 yangzifish 于 2007-7-15 09:36 发表
对于echo 2*3 >5 is a valid inequality,为什么得到的文件5中结果是2*3 is a valid inequality?而不仅仅是2*3?也就是说5后面的字符为什么也会输出?哪位能给我讲解一下其中的原因,小弟不胜感激!
重定向可以出现在一个 command 的任何位置, 不一定非得在最后, 比如以下命令是等价的:
复制内容到剪贴板
代码:
$ echo hello world > log
$ echo hello > log world
$ echo > log hello world
      
引用:
原帖由 dearvoid 于 2007-7-16 13:00 发表

重定向可以出现在一个 command 的任何位置, 不一定非得在最后, 比如以下命令是等价的:

$ echo hello world > log
$ echo hello > log world
$ echo > log hello world
原来是这样的,我一直以为>后面的都是文件名呢!现在搞清楚了,谢谢版主!
顺便再问个问题 :如果文件名需要空格时,用单引号和双引号都可以,不知这两种有何区别?      
以下是从 bash 的 man page 中的 QUOTING 一节中摘录出来的:

Enclosing  characters  in  single  quotes  preserves the literal value of each character within the quotes.  A single quote may not occur between single quotes, even when preceded by a backslash.

Enclosing characters in double quotes preserves the literal value of all  characters  within  the  quotes,  with  the exception of $, `, \, and, when history expansion is enabled, !.  The characters $ and ` retain their special meaning within double quotes.  The backslash retains its special meaning only when followed by one of the  following  characters:  $, `, ", \, or <newline>.  A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion will be performed unless an !  appearing in double quotes is escaped using a backslash. The backslash preceding the !  is not removed.      
知道了,再次感谢版主的回答!忘了还有一个man呢      
这里有些 bash 的文档书籍: http://code.google.com/p/linuxeden/downloads/list