文件: shell_sh.rar 大小: 78KB 下载: 下载 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/97215/showart_2051361.html
by fly_with_linux - Linux文档专区 - 2009-09-13 16:11:18 阅读(844) 回复(0)
【項目要求】 一、 实现功能: 要求实现一个简单的命令解释器,也就是linux中的shell程序,在本程序中我们将其起名为ysh,要求: 1、 能够执行外部程序命令,命令可以带参数; 2、 能够执行fg、bg、cd、history、exit等内部命令; 3、 使用管道和输入输出重定向; 4、 支持前后台作业,提供作业控制功能,包括打印作业的清单,改变当前运行作业的前/后台状态,以及控制作业的挂起、中止与继续运行; 5、 使用Make工具建立工程; 6...
经常会遇到一些问题就是为什么命令不是安你想要的执行!!!!举个例子你 find /usr -type f -name string* 你本意你想找string.c .h阿.什么之类的.就是*是当通配符了.可是如果你的当前路径有个string.c文件的话,你就知道问题了。 [root@mip-123456 string]# ls [root@mip-123456 string]# find /usr/src/linux-2.6.18/arch/ -type f -name string* /usr/src/linux-2.6.18/arch/ppc/lib/string.S /usr/src/linux-2.6.18/arch/ppc/...
小弟,导师要求编写一个简单的命令解释器,模拟linux的shell,初步实现系统登陆、用户帐户管理、命令解析;可打开提示符,获取用户输入的指令;可解析指令、可寻找命令文件;可执行基本的命令。 但是小弟不知道怎么入手,请各位高手指点一下,或许有什么书籍可以参考啊! 救命!!!!!!!! 小弟的邮箱是 [email]shabott@sina.com[/email] ,各位高手要是有相关资料,请发给我啊!谢谢
本帖最后由 kidcyzd 于 2011-10-13 10:20 编辑 Linux 启动完成后,内存中已加载好shell,之后在Linux 上的一切操作都是在该shell上进行的!如果是内部命令,则直接解释,如果是外部命令或程序,则由该shell fork出一个子进程,该子进程就是外部命令或程序的解释过程,其解释过程并没有用到shell! Linux 启动完成后会产生一个所有进程的父进程,该父进程就是shell! 求高手指点哪里理解错误!!!!!!! 如果进入的是图形系统...
本文适合的读者对象 对linux环境上的c语言开发有一定经验; 对linux环境编程(比如进程、管道)有一点了解。 一、概述: 本章的目的是让大家了解shell的基本原理,并且自己动手做一个shell解释器。为此: 首先,我们解释什么是shell解释器。 其次,我们要大致了解shell解释器具有哪些功能; 最后,我们具体讲解如何实现一个简单的 shell 解释器,并对需要用到的一些 linux环境编程的知识做一定讲解,并提醒你如果想深入掌握,应该去...
使用shell进行工作的人们 对Unix/Linux下的shell编程都很熟悉,在所有的shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统 而言,这一行字符串意味着什么?你可能会说,不就是会让/bin/bash程序来解释这个脚本程序吗?当然你是对的,看看我们的标题,这里我们谈谈解释 器,让我们一起来看看脚本文件里的第一句到底对系统而言意味着什么。但有一点我们可先明确一下,所谓解释器就是指#!行后面的可执行的程序。...
shell编程入门:Linux解释器原理 引言 使用shell进行工作的人们对Unix/Linux下的shell编程都很熟悉,在所有的shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统而言,这一行字符串意味着什么?你可能会说,不就是会让/bin/bash程序来解释这个脚本程序吗?当然你是对的,看看我们的标题,这里我们谈谈解释器,让我们一起来看看脚本文件里的第一句到底对系统而言意味着什么。但有一点我们可先明确一下,所谓解...
shell编程入门:Linux解释器原理 引言 使用shell进行工作的人们对Unix/Linux下的shell编程都很熟悉,在所有的shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统而言,这一行字符串意味着什么?你可能会说,不就是会让/bin/bash程序来解释这个脚本程序吗?当然你是对的,看看我们的标题,这里我们谈谈解释器,让我们一起来看看脚本文件里的第一句到底对系统而言意味着什么。但有一点我们可先明确一下,所谓解...
《UNIX 超级工具》一书 第八章 8.05 命令行的评价(evaluation) 下面是C shell 解释命令行的顺序: 1. 历史替换 2. 分裂词(包括特殊字符) 3. 更新历史表 4. 解释单引号(') 和 双引号(") 5. 别名替换 6. 输入和输出的重定向(如 > < 和 |) 7. 变量替换 8. 命令替换 9. 文件名扩展 (Bourne shell 的解释顺序本质上是一样的,除了它不执行历史替换和别名替换之外) 所以,下面的命令: A=B echo $A 的执行过程应该是...
看了wingger MM的shell sed篇,结合着Wrox Beginning shell Scripting看了下,里边对sed最后说了些命令,但是没有举例,搞不太清楚,请帮我解释下这2个命令: 1) sed -e :a -e '/\\$/N; s/\\\n//; ta' file 2) sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba' file 主要是 这几个 a,N,b,t,T,B 不是很明白是什么功能。 谢谢