免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1760 | 回复: 12
打印 上一主题 下一主题

两个SHELL问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-22 17:45 |只看该作者 |倒序浏览
1) 我从一个文件里读,用下面的命令
while read oneline
do
.......
done < FILE
但我发现读出来的和原来的不完全一致,空格只保留一个,比如"A       B"变成了"A B",有没有什么办法能让空格也完全保留呢?

2) 有没有办法写一个SCRIPT,用它输出的作为另外一程序的输入呢?比如vi,
能不能写一个SCRIPT, 让它运行vi, 然后它向vi输入几句话,然后写入:wq!存盘退出?

多谢.

论坛徽章:
0
2 [报告]
发表于 2004-12-22 18:00 |只看该作者

两个SHELL问题

1.
echo "${oneline}"  就可以了
2.使用here文档

论坛徽章:
0
3 [报告]
发表于 2004-12-23 10:21 |只看该作者

两个SHELL问题

原帖由 "哈" 发表:
1.
echo "${oneline}"  就可以了
2.使用here文档


使用here文档是什么意思呢?能详细些么? 第一个好了.谢谢你.

论坛徽章:
0
4 [报告]
发表于 2004-12-23 11:10 |只看该作者

两个SHELL问题

2。可以使用类似这样的方法吧:

  1. vi a.txt <<EOF
  2. > dd
  3. > :wq
  4. > EOF
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-12-23 11:52 |只看该作者

两个SHELL问题

这样是不行的。我记得好像
vi a.txt <<EOF
> dd
> :wq
> EOF
不行
因为vi期待输入的内容是一个vi能够认识的命令。
所以像这个应该是可以的。
vi a.txt <<EOF
> :wq
> EOF

手头没有机器,没法试。

论坛徽章:
0
6 [报告]
发表于 2004-12-23 12:12 |只看该作者

两个SHELL问题

原帖由 "icesummit" 发表:
这样是不行的。我记得好像
vi a.txt <<EOF
> dd
> :wq
> EOF
不行
因为vi期待输入的内容是一个vi能够认识的命令。
所以像这个应该是可以的。
vi a.txt <<EOF
> :wq
> EOF..........

我上面写了是vi不能够认识的命令吗? dd是删除当前行

论坛徽章:
0
7 [报告]
发表于 2004-12-23 12:53 |只看该作者

两个SHELL问题

dd是可以,但是输入其他的字符串就不行了。楼主的本意似乎是要输入命令之外的字符串。

论坛徽章:
0
8 [报告]
发表于 2004-12-23 13:17 |只看该作者

两个SHELL问题

原帖由 "egghead0" 发表:
1) 我从一个文件里读,用下面的命令
while read oneline
do
.......
done < FILE
但我发现读出来的和原来的不完全一致,空格只保留一个,比如"A       B"变成了"A B",有没有什么办法能让空格也完全保留呢?

..........


OLD_IFS=$IFS
IFS=""
while read oneline
do
.......
done < FILE
IFS=$OLD_IFS

论坛徽章:
0
9 [报告]
发表于 2004-12-23 13:39 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2004-12-26 11:30 |只看该作者

两个SHELL问题

[quote]原帖由 "icesummit"]dd是可以,但是输入其他的字符串就不行了。楼主的本意似乎是要输入命令之外的字符串。[/quote 发表:


是的,我的意思就是任意字符。其实我的意思就是能象用键盘的命令行输入那样往另外一个程序里输入,比如象vi或者其它类似的需要录入的程序,比如mail,但是命令和内容是事先写在一个script里的,只要调用它就可以了。比如给一些用户发邮件,用script调用程序mail,自动输入,然后发出去。这样的设想能实现么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP