24小时热门版块排行榜    

查看: 301  |  回复: 1

tiechong

金虫 (著名写手)

[求助] 那位虫子来帮我解释下这个pbs文件

./AAA<111.out
接下来就是正常的输入参数了
EOF

下载了一个软件(假定为AAA), 中间一大段就是对于该软件的输入参数了,按照说明书里的pbs文件,我不大理解干吗一定要前后这两个end of file(EOF)?

>,<, 是啥意思, 我试了一下, >>EOF<, >>EOF<<, <>, < 等等程序都能正常运行,    
./AAA,<, 111.out,这三段之间加不加空格程序都能正常运行
最后那个EOF 加不加程序都能正常运行



我尝试了一下这样的pbs文件(没有两个EOF):
./AAA
接下来就是正常的输入参数了。

有的系统里行,有的系统里就不行了

呼唤牛虫出来指导一下:tiger23
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

【答案】应助回帖

★ ★ ★
jjdg(金币+1): 感谢参与 2011-09-04 11:00:21
余泽成(金币+2): 谢谢参与应助! 2011-09-04 23:28:55
tiechong(金币+5): 2011-09-05 00:32:16
tiechong(金币+5): NB 2011-11-07 23:28:06
你的这个pbs就不清楚是什么了,命令行参数嘛~貌似shell和perl里面都有一个叫做this的机制,就是这样:
CODE:
< something
TEXT

<<表示此处插入,TEXT是标记,任何标记皆可,你当然也能输入<CODE:
< something
A

对这样的一个this表达式求值的结果就是something,与其余的方式不同在于,这样求值是单个值,而一般的shell会替换调空白字符,比如说这样:
CODE:
echo < one two
three
A

echo就会认为从标准输入得到了"one two\nthree",即C语言的stdin读到的,如果这样用:
CODE:
echo 'one two
three'

echo就会认为传递的参数是"one two\nthree",而如果这样用:
CODE:
echo echo 'one two
three'

shell会替换掉空白而认为得到了三个参数,分别是"one","two","three"。
此外,shell的<的意思是文件读入,>是文件输出,>>是追加到文件的意思。
漩涡的中心有一块空地,空空的。
2楼2011-09-03 13:25:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tiechong 的主题更新
信息提示
请填处理意见