LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1018|回复: 2

命令字符串的解释

[复制链接]
发表于 2006-11-16 00:48:58 | 显示全部楼层 |阅读模式
最近正在编写一个小软件,这个小软件是基于shell命令而不是图形界面,其中涉及到对命令字符串的解释。就像基于shell命令形式的FTP客户端程序,在FTP客户端程序中也要对命令字符串进行解释,将命令字符串分解成各个命令、操作数,存放在char  *argv[]
就如同main函数的参数argc、argv一样,shell命令解释器首先对用户输入的命令字符串分解成各个命令、操作数,存放在argv中,然后作为参数传递给exec函数执行。

由于对命令字符串进行解释时要考虑到很多的特殊字符,如转义字符\,双引号",空格,回车符
等的处理,我现在想直接把这部分功能从shell命令解释器实现中提取出来,不想自己耗费大量的时间自己实现,不知道有哪位好心的朋友可否告诉我是否有这部分功能的调用函数,或者现成的源代码提供给我参考,本人感激不尽!
发表于 2006-11-16 09:20:03 | 显示全部楼层
man getopt_long
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-17 09:56:43 | 显示全部楼层
不是这个,这个是对已得到的argc,argv进行分析。
例如:
pigeon>
这是我应用程序的开头提示符,然后再该提示符下输入一行命令字符串
pigeon>sendto  192.168.1.221  /root/
命令字符串是char *s="sendto  192.168.1.221  /root/"现在我要对该字符串进行
解释,把它放到argv[0]="sendto",argv[1]="192.168.1.221",argv[2]="/root/"且得到argc=3(当然对命令字符串进行解释时要考虑到很多的特殊字符,如转义字符\,双引号",空格,回车符等的处理)
我现在想直接把这部分功能从shell命令解释器实现中提取出来,不知道有哪位热心的朋友可否告诉我是否有这部分功能的调用函数,或者现成的源代码提供给我参考!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表