[2010-9-16]

  1. 使用${变量名}可以在参数中扩展变量值,例如 echo ${var}abc123 , 则参数会被扩展为var的值与abc123拼接的字符串。

  2. ${变量名%pattern},${变量名%%pattern} 分别表示从变量值的最后开始,往前搜索能匹配pattern的子串,前者将最短匹配删除,返回剩余部分,后者删除最长匹配。如果把%换成#,则搜索方向为从前往后。

  3. 刚写了个程序,从标准输入流读入参数,并以该参数作为文件名来打开文件,但一直失败。首先我传入参数的方式是 echo "文件名" | 程序名,本来以为这样就可以正常读入文件名,但后来发现这样读进来的文件名,其最后一个字符并非'\0',而是LF,其十进制值为10,同样有着换新行的作用,而打开文件的函数并不会识别这个字符,因此把它也算进文件名里面,从而导致错误。

    真正的原因在这里有解释 http://book.51cto.com/art/200904/121090.htm

posted @ 2010-09-16 18:57  DOF_KL  阅读(137)  评论(0)    收藏  举报