中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-19 19:40
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,270 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于重定向的写法,为什么>file echo abc?
可打印版本  1,397 / 6
第1楼 leson 发表于 2008-11-17 20:13
初级用户 发帖 15 积分 35
关于重定向的写法,为什么>file echo abc?
看了最近版主HAT以及其他人的一些帖子,
好像大家都喜欢>file echo abc
这种将文件写在前面的写法,
若同时接受输入输出,>outfile sort <infile
请问为什么要这样?
我觉得这样不好,有时候abc后面多写了几个空格,
尤其在重定向的场合,
出现了问题很难定位出,
echo abc>file,
则可极大地避免这种错误。
另外感觉>outfile sort <infile,
明显不如sort <infile >outfile直观!
大家怎么看?
第2楼 tireless 发表于 2008-11-17 20:29
银牌会员 发帖 1,122 积分 2,025
>file echo abc 这样的方式:

我也感觉有些别扭,阅读起来怪怪的感觉;
但如果要输出的字符很长,如果在一开头就看到 >a.txt,就会更快地知道是输出到文件,而不用一直跟着 echo 直到行尾。

对此我没有坚定的立场...有时会这样用,有时不会...
第3楼 HAT 发表于 2008-11-17 21:07
版主 发帖 5,017 积分 9,023
>a.txt echo 3721
我这样写是为了避免在行尾产生多余的空格
如果你感兴趣的话还可以这样写
echo>a.txt 3721
第4楼 pusofalse 发表于 2008-11-17 21:21
银牌会员 发帖 646 积分 1,604
如果echo后的内容是0-9中的某个数字呢?
echo 2>a.txt,出错。。。
echo 2 >a.txt,其实你只想输出2,不想输出2之后的空格到a.txt
>a.txt echo 2,这样呢?、、、正常。
>a.txt echo 3 ,3之后还有空格,正常。
(echo 2)>a.txt 同样正常。
如果感觉别扭的话,就用最后的这个方法吧。
第5楼 leson 发表于 2008-11-17 21:24
初级用户 发帖 15 积分 35

不太明白HAT所说的>a.txt echo 3721这样写是为了避免行尾出现多余的空格?
如何理解?
第6楼 leson 发表于 2008-11-17 21:29
初级用户 发帖 15 积分 35
第4楼所提及的情形,我觉得使用:
echo ^1>file
echo ^2>file
等比较好理解一些,
我需要知晓这时候1、2有其特殊含义,
就像对待正规表达式中元字符一样,需要转义。
第7楼 HAT 发表于 2008-11-17 22:44
版主 发帖 5,017 积分 9,023
Re 5楼
willsort 兄同样举过 3721 这个例子,也同样被问到这个问题。
具体的,我也不想多说了,你就当 3721 是个变量吧,呵呵。

至于6楼提到的转义,可以跟4楼的加扩号,等方法一起和3楼归入“如果你感兴趣”
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023