#!/bin/sh
for ((i=1i<20i=i+2))
do
echo $i
done
类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
命令行式shell(Command Line Interface shell ,即CLI shell)
例如:
bash / sh / ksh / csh / zsh(Unix/linux 系统)
扩展资料:
传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
文字 *** 作系统与外部最主要的接口就叫做shell。shell是 *** 作系统最外面的一层。shell管理与 *** 作系统之间的交互:等待输入,向 *** 作系统解释你的输入,并且处理各种各样的 *** 作系统的输出结果。
shell提供了与 *** 作系统之间通讯的方式。这种通讯可以以交互方式,或者以shell script方式执行。shell script是放在文件中的一串shell和 *** 作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
编写一个简单的shell程序,要求如下:一:这个shell必须支持以下内部命令:
1.cd<directory>--把当前目录改变为<directory>,如果没有<directory>参数,则显示当前目录。如果该目录不存在,则给出错误提示。这个命令可以用来改变PWD环境变量。
2.clr--清屏。
3.dir<directory>--列出目录<directory>的内容。
4.environ--列出所有的环境变量。
5.echo<comment>--在屏幕上显示<comment>并换行。
6.help--显示用户手册,并且使用more命令过滤。
7.pause--停止shell直到按下回车。
8.quit--退出shell。
9.shell的环境变量应该包含shell=<pathname>/myshell,其中<pathname>/myshell是可执行程序shell的完整路径。
二:其他的命令行被解释为程序调用,,shell创建并执行这个程序,并作为自己的子进程,程序的环境变量必需包含以下条目:
parent=<pathname>/myshell,
三:shell必须能够从文件中提取命令行输入,例如shell使用以下命令行被调用:
programname arg1 arg2 <inputfile>outputfile
四:shell必须支持i/o重定向,stdin和stdout或其中之一。例如命令行为
programname arg1 arg2 <inputfile>outputfile
使用arg1和arg2执行程序programname,输入文件流被替换为inputfile,输出文件流被替换为outputfile。
stdout重定向应该支持以下内部命令:dir,environ,echo和help。
使用输出重定向是,如果重定向字符是>,则创建输出文件,如果存在则覆盖之;如果重定向字符为 >>则也会创建输出文件,如果存在则添加到文件 尾。
五:shell必需支持后台程序执行。如果在命令行后面添加字符&,在加载完程序后需要立刻返回命令行提示符。
六:命令行提示符必需包含当前路径。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)