shell外部命令解析器
来源:互联网 发布:苹果电脑软件如何更新 编辑:程序博客网 时间:2024/06/01 20:21
/* ************************************************************************
* Filename: shell.c
* Description:
* Version: 1.0
* Created: 2012年04月02日 18时52分12秒
* Revision: none
* Compiler: gcc
* Author: YOUR NAME (),
* Company:
* ************************************************************************/
于2012年04月09日修改后的代码:
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/wait.h>
int main(int argc,char *argv[])
{
while(1)
{
pid_t pid;
char *p1=NULL,*p2=NULL,*p3=NULL; //指针要初始化
char *p4=NULL;
char str[100]=""; //这里要初始化或者用memset函数初始化
char *temp[100];
int i=0;
int status;
p1=getenv("USER"); //取得环境变量内容getenv()
p2=getenv("HOSTNAME");
p3=getenv("PWD");
p4=strrchr(p3,'/');
printf("[%s@%s %s]$",p1,p2,p4+1);
// gets(str);
/*可以代替下面的4句话
fgets(str, sizeof(str), stdin);//获取字符串
str[strlen(str)-1]='\0'; //把最后一位'\n'变成字符串结束标志'\0'
if(str[0]=='\0')
continue; //如果是输入回车的话,继续while循环
temp[i++]=strtok(str, " ");
while((temp[i++]=strtok(NULL," "))!=NULL); //字符串按空格切割
*/
fgets(str,100,stdin); //str用指针时要开辟空间,100可以用strlen测出str的长度来代替
temp[i++]=strtok(str," \n");
while((temp[i++]=strtok(NULL," \n"))!=NULL)
;
pid=vfork();
if(pid<0)
{
perror("fork\n");
}
else if(pid==0)
{
if(temp[0]==NULL)
{
exit(0);
}
execvp(temp[0],temp);
}
else
{
pid=wait(&status);
}
}
return 0;
}
上一篇:高中生为买iPad 2卖肾导致三级伤残
下一篇:TCP/UDP相关知识总汇
- 导入mysql文件提示“ASCII '\0...
- 程序化广告交易中的点击率预估...
- 欢迎ShellJiao在ChinaUnix博客...
- IDC局域网IP检测脚本
- 每天dmp备份的shell脚本...
- linux 常见服务端口
- xmanager 2.0 for linux配置
- 【ROOTFS搭建】busybox的httpd...
- openwrt中luci学习笔记
- 什么是shell
qizheguang2012-06-18 08:48:25
hclen906152012-06-17 07:13:50
会有两个问题:1、strrchr参数2类型未转换。2、在无法识别的外部命令时应该打印错误提示。
hclen906152012-06-17 07:06:46
正巧,前天也写了一个•••
qizheguang2012-04-10 07:58:34
☆彼岸★花开2012-04-10 01:47:00
不太长啊……
- 1
- 2
- 下一页
- 末页
- shell外部命令解析器
- shell命令解析器
- shell命令解析器一
- shell命令解析器二
- shell命令解析器三
- shell命令解析器四
- shell命令解析器四
- Linux:shell 命令解析器
- shell内建命令和外部命令
- shell的内部命令和外部命令
- shell内部命令和外部命令
- shell内部命令和外部命令
- shell内部命令和外部命令
- shell的外部命令和内部命令
- 无法解析的外部命令
- 无法解析的外部命令
- 编写简单的shell命令解析器
- 编写简单的shell命令解析器
- linux 多点触控协议
- 算法导论(八)--线性时间排序
- u-boot启动完全分析
- 使用Eclipse开发Android报错:Project has no target set. Edit the project properties to set one.
- [转] 高效的产生一组不重复的随机数
- shell外部命令解析器
- android 混淆
- TCP/UDP相关知识总汇
- 16道嵌入式C语言面试题(经典)
- Linux独立中断栈学习笔记及验证实验(ARM、x86)
- (转帖)Ascii码表(全)
- 精·彩 没我怎么型! LG L3新款手机中国发布
- MPlayer播放器源码分析
- 面试中经常碰到的C语言算法