|
现在的引号处理应该是个可以接受的方案了
1.find 命令未到到目标时将内置变量 ?_WENV 的值清空
为了适应 WENV find ... | WENV set a= 这种不判断返回值的用法
2.check -e 改回只对左边的串转义, 实在需要两边转义的用 -ee
3.check 处理引号规则变化
不含空格,没有用引号括起来的串都可以直接比较
引号作界定符时,必须使用紧凑语法
对左边的串,如果第一个字符是引号,试图查找配对的引号
配对引号后面必须紧跟操作符,找不到时,引号作为普通字符
对右边的串,如果操作后第一个字符是引号,试图查找配对的引号
配对引号后面必须是一个空格然后紧跟子命令或结束符,否则引号作为普通字符
简单一点说就是:
希望引号作为符时,命令行中不要有多余的空格
不希望引号做界定符时,操作符两边各留一个空格
4.set -x=delims 修复多个delims连续时的BUG
另外,这里delims跟for命令中的意义不同
for 命令中将delims中的每个字符都当作分隔符
这里是将delims整个串当作分隔符
如果要用 " 或 , 这种特殊字符为分隔,需要用引号括起来
此时不省略,N 且逗号前不能有空格
[ 本帖最后由 tuxw 于 2010-11-13 16:54 编辑 ] |
|