[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
浙公网安备 33010602011771号