shell程序设计,Shell既是linux系统的用户界面,还是一种程序设计语言,是否正确?
shell程序设计,Shell既是linux系统的用户界面,还是一种程序设计语言,是否正确?详细介绍
本文目录一览: 请问shell编程是什么?请高手指点
shell是一个命令处理器(commandprocessor)——是一个读入并解释你输入的命令的程序。除了是一个命令中断器以外,shell还是一个程序设计语言。你可以编写shell可以解释的程序(被称为源程序),这些源程序可以包含shell程序设计命令等等。shell除了解释命令以外,还有其他工作,它也可以配置和编程。shell拥有自己的语言允许用户编写程序并以一种复杂方式运行。shell编程语言具有许多常用的编程语言的特征,例如:循环和控制结构等。用户可以生成像其他应用程序一样复杂的shell程序。
补充说明:简单的说:shell是一个交互性命令解释器。shell独立于操作系统,这种设计让用户可以灵活选择适合自己的shell。shell让你在命令行键入命令,经过shell解释后传送给操作系统(内核)执行。
以下是shell功能的一个汇总:
查找命令的位置并且执行相关联的程序。
为shell变量赋新值
执行命令替代
处理I/O重定向和管道功能
提供一个解释性的编程语言界面,包括tests、branches和loops等语句
shell语言是什么啊?
SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。
扩展资料:
shell的语言的运行场景:
Shell是各个UNIX系统之间通用的功能,并且经过了POSIX的标准化。因此,Shell脚本只要“用心写”一次,即可应用到很多系统上。同时,它运行于高于系统内核的环境,能够简单地执行一些文件系统级的高级操作。因此,之所以要使用Shell脚本是基于:
1、简单性:Shell是一个高级语言,处于内核外层环境;通过它,你可以简洁地表达复杂的操作。
2、可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。
3、开发容易:可以在短时间内完成一个功能强大又适用的脚本。
参考资料来源:百度百科-SHELL语言
Shell既是linux系统的用户界面,还是一种程序设计语言,是否正确?
【正确】
Shll是liux操作系统的外壳,与操作系统的内核相对应,Shll是系统的用户界面,为用户提供使用操作系统的接口,负责用户和操作系统之间的沟通;除此之外,shll还是一种程序设计语言,我们可以用它进行程序设计。
Linux Shell 教程——想玩转linux就请一直看下去
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
Shell 在线工具
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
由于习惯的原因,简洁起见,本文出现的 "shell编程" 都是指 shell 脚本编程,不是指开发 shell 自身。
Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh ,它同样也可以改为 #!/bin/bash 。
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。
打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。
输入一些代码,第一行一般是这样:
#!/bin/bash echo "Hello World !"
运行实例 ?
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo 命令用于向窗口输出文本。
1、作为可执行程序
将上面的代码保存为 test.sh,并 cd 到相应目录:
注意,一定要写成 ./test.sh ,而不是 test.sh ,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2、作为解释器参数
这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。
linuxshell编程书籍推荐
Linux程序设计.第3版
作者:(英)马修,(英)斯通斯著,陈健等译出版社:人民邮电出版社出版时间:2007年07月
它提供了一种理想的方式来阐明每个被介绍过的更高级的主题。我们对这个应用程序的第一次讨论出现在本书第2章的结尾处,它展示了一个非常大的shell脚本是如何组织的,shell如何处理用户输入、如何构造菜单以及如何存储...
¥89.00¥66.75折扣:75折节省:¥22.25
--------------------------------------------------------------------------------
Linux命令、编辑器与Shell编程
作者:(美)索贝尔(Sobell,M.G.)著,杨明军,王凤芹译出版社:清华大学出版社出版时间:2007年03月
要想真正高效地使用Linux,就必须全面掌握shell和命令行。通常必须购买两本书才能达到精通的目的:一本关于Linux基本概念和技术的指南,再加上一个单独的参考手册。更糟糕的是,大多数Linux参考手册只是对man手册页的...
¥98.00¥73.50折扣:75折节省:¥24.50
--------------------------------------------------------------------------------
Linux指令速查手册
作者:吴恒奎编著出版社:人民邮电出版社出版时间:2007年12月
将程序放在后台执行1.8cd指令:切换目录1.9chfn指令:设置finger信息1.10chsh指令:改变登录系统时的shell1.11clear指令:清除终端屏幕1.12date指令:显示或设置系统时间1.13echo指令:显示...
¥45.00¥33.75折扣:75折节省:¥11.25
--------------------------------------------------------------------------------
嵌入式Linux系统开发技术详解-基于ARM
作者:孙纪坤,张小全编著出版社:人民邮电出版社出版时间:2006年08月
三星S3C2410开发板介绍242.4.2众多的开发板供应商26第3章Linux编程环境283.1Linux常用工具283.1.1Shell简介283.1.2常用Shell命令303.1.3编写Shell脚本383.1.4正则表达式423.1.5程序编辑器443.2Mak...
¥39.00¥29.30折扣:75折节省:¥9.70
--------------------------------------------------------------------------------
UNIXshell范例精解(第4版)
作者:(美)奎格莉(Quigley,E.)著,李化,张国强译出版社:清华大学出版社出版时间:2007年05月
在本书的再版中,Quigley对她的经典著作进行了全新的改版,增加了当前shell程序员所需的最新内容——使用bash进行Linuxshell编程。本书汇聚了Quigley21年来的shell编程教学经验。书中不仅展示了能帮助读者快速...
¥118.00¥88.50折扣:75折节省:¥29.50
--------------------------------------------------------------------------------
完全手册--Linux系统与网络服务管理技术大全(含光盘)
作者:杨明华等编著出版社:电子工业出版社出版时间:2008年01月
25.4.5使用ssh客户端25.4.6使用scp客户端25.4.7使用sftp客户端25.4.8使用SSHSecureShell访问SSH服务器25.5计算机病毒与防护25.5.1计算机病毒种类25.5.2计算机病毒特征25...
¥79.80¥59.90折扣:75折节省:¥19.90
--------------------------------------------------------------------------------
构建嵌入式LINUX系统
作者:(美)雅默著,韩存兵,龚波改编出版社:中国电力出版社出版时间:2004年12月
硬件两方面。系统管理你必须能够胜任各种系统管理工作,如硬件的配置。系统的设定。维护以及利用shell命令脚本让管理工作自动化。设备驱动程序你必须知道如何对各种Linux设备驱动程序进行开发及...
¥48.00¥36.00折扣:75折节省:¥12.00
--------------------------------------------------------------------------------
RedHatLinux9系统管理与服务器配置
作者:杨宗德等编著出版社:人民邮电出版社出版时间:2007年07月
Linux桌面管理基本操作2.3.1使用桌面面板2.3.2使用Nautilus文件管理器2.3.3打开终端Shell提示2.3.4注销及关闭系统第3章Shell及文本界面基本操作3.1...
¥42.00¥31.50折扣:75折节省:¥10.50
--------------------------------------------------------------------------------
鸟哥的LINUX私房菜:基础学习篇
作者:鸟哥编著出版社:科学出版社出版时间:2005年06月
第1篇主要介绍Linux操作系统的规划与安装;第2篇介绍Linux的基本文件权限与系统架构;第3篇介绍非常重要的Shell与Shellscripts的基本内容,这是所有以文字界面操控主机的基础;第4篇着重介绍Linux用户管理,包括账号...
¥42.00¥31.50折扣:75折节省:¥10.50
--------------------------------------------------------------------------------
Linux基础与应用
作者:陈明编著出版社:清华大学出版社出版时间:2005年10月
本书是一本有关Linux操作系统应用的教程,主要内容包括:Linux概述、RedHatLinux系统安装、linux常用命令、Xwindow系统、RedHatLinux常用工具、Linux系统管理与配置、Linux常用应用程序、Linux下的Shell编程、...
¥23.00¥17.25折扣:75折节省:¥5.75
--------------------------------------------------------------------------------
鸟哥的Linux私房菜——服务器架设篇(附CD-ROM光盘一张)
作者:鸟哥编著出版社:科学出版社出版时间:2005年06月
网站的相关维护技巧以及鸟哥平时在维护主机时认为较佳的维护经验。本书目标读者本书侧重于深入讨论架站规划、流程、技巧与维护等工作,比较基础的Linux操作与相关Shell语法在本书谈论得不多,相关内容请参考...
¥73.00¥54.80折扣:75折节省:¥18.20
--------------------------------------------------------------------------------
UbuntuLinux入门到精通(附光盘)
作者:李蔚泽著出版社:机械工业出版社出版时间:2007年05月
本书全面介绍了UbuntuLinux的相关知识,内容详实,论述清晰。主要内容包括Ubuntu介绍、文件系统管理、进程管理、压缩与查询系统、Shell应用、TCP/IP基础、网络管理、网络硬盘以及加密安全通信等内容。本书是一本...
¥42.00¥31.50折扣:75折节省:¥10.50
--------------------------------------------------------------------------------
Linux标准学习教程
作者:IT同路人编著出版社:人民邮电出版社出版时间:2008年01月
Linux字符界面、Linux常用命令、Linux应用软件、Linux系统启动、Linux系统管理和维护、Linux服务器配置、shell编程、LinuxC语言基础、Linux程序编译和调试维护等内容。本书内容丰富、结构清晰、讲解细致、图文并茂...
¥49.00¥36.75折扣:75折节省:¥12.25
--------------------------------------------------------------------------------
LPILINUX认证权威指南
作者:(美)迪安著,Taiwan公司编译出版时间:2007年08月
GNu与unix基本命令、文件系统、x窗口系统等;第二部分涵盖102考试,包括Linux内核、开机程序、打印、文件管理、Shell程序设计、系统管理、TCP/IP网络概论、常用的网络服务、系统安全防护等。通过考试不仅是对自己...
¥68.00¥50.90折扣:75折节省:¥17.10
--------------------------------------------------------------------------------
Unix与Linux系统管理
作者:(美)弗里斯科比(Frisch,AE.)著,刘颖译出版社:清华大学出版社出版时间:2006年11月
打印机和假脱机子系统第14章自动执行管理任务第15章管理系统资源第16章配置和构建内核第17章记账附录管理Shell的编程内容提要:本书自1991年10月第一版开始,就成了Unix和Linux系统管理员的终极参考书。本...
¥129.00¥96.80折扣:75折节省:¥32.20
--------------------------------------------------------------------------------
LINUX系统故障诊断与排除
作者:(美)柯克兰(Kirklan,d.J.)等著,周良忠等译出版社:人民邮电出版社出版时间:2007年01月
登录问题14.1/etc/password,/etc/shadow和密码时效14.2Linux配置造成的登录失败14.3PAM14.4shell问题14.5密码问题14.6小结14.7尾注第15章XWindows问题15.1X背景15.2X组件...
¥48.00¥36.00折扣:75折节省:¥12.00
--------------------------------------------------------------------------------
Linux系统应用与开发教程——计算机基础课程系列教材
作者:刘海燕等编著出版社:机械工业出版社出版时间:2005年10月
1.4.2登录1.4.3注销1.4.4关闭1.5小结习题第2章shell及常用命令2.1Linux终端使用基础2.1.1什么是Linux终端2.1.2...
¥25.00¥18.70折扣:75折节省:¥6.30
--------------------------------------------------------------------------------
LINUX黑客大曝光(第2版)
作者:(美)哈茨,(美)李著,王一川译出版社:清华大学出版社出版时间:2003年12月
Linux上口令的工作方式9.2口令破解程序9.3PAM9.4蛮力口令猜测攻击9.5口令保护9.6Linux中非shell程序的用户认证机制9.7小结第4部分服务器的安全问题第10章邮件安全性10.1Ma...
¥59.00¥44.10折扣:75折节省:¥14.90
--------------------------------------------------------------------------------
LINUXSERVERHACKS(卷二):100个业界最尖端的技巧和工具
作者:(美)哈根,(美)琼斯著,张颖译出版社:清华大学出版社出版时间:2007年01月
29.同时在多台服务器执行命令30.用加固的Wiki安全协作31.用grubby编辑GRUP配置32.给Tab键一个显示的机会33.在退出shell后保持进程运行34.断开控制台连接而不结束会话35.使用脚本节约时间和培训别人3...
什么是Shell?linux Shell有什么特性?
Shell是Linux系统的外壳,它是用户和Linux操作系统之间的接口,并且具有很多种类型。那么什么是Shell?Shell分为哪几类?linux
Shell有什么特性?我们来看看具体的内容介绍。
什么是Shell?
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一个命令语言,又是一个程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell是一个应用程序,是用户管理应用程序的一个接口。
广义上Shell的分类?
GUI:图形用户界面,KDE、GNOME、XFCE。
CLI:命令行接口,bash、zsh、fishsh、csh、tcsh、ksh。
linux Shell有什么特性?
Shell是一个简单得脚本语言,适合自动化命令执行。
Shell是Linux系统必备的语言,我们操作Linux就是通过命令行bash解释给系统的。
大多数应用软件的启动和配置都是Shell脚本完成的。
要想学好Linux,掌握shell是必不可少的。
iOS开发-需要了解的Shell脚本语法
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。在iOS开发中,我们通常编写一些自动化的脚本文件,来提高我们的生产效率,其本质就是通过Shell脚本对一些 xcodebuild , xcode-select , xcpretty , xcrun 等指令的封装。本篇文章,我们就针对 Shell 脚本的语法,做一些罗列,以辅助我们去完成一些自动化封装。
执行脚本
.sh 文件为 Shell 脚本文件格式,通过 sh 指令执行脚本文件
执行结果:
1.通过 echo 输出变量时,需要使用 $ 或者 ${} 修饰 2. (重点)定义变量时,等号之间不能有空格,不然会误认为变量为一个指令 3.可以直接修改 name 变量的值,即当前 name 默认为 readwrite 权限 4.我们给 _var 用 readonly 修饰后,再修改值会抛出异常
执行结果:
执行结果:
执行结果:
执行结果:
$@ 和 $* 都是输出所有参数,前者是 "$1" "$2" "$3" "$4" ,后者是 "$1 $2 $3 $4"
执行结果:
注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ] 。
关于文件检测运算符,这里还是都罗列一下吧,比较重要:
执行结果:
执行结果:
执行结果:
执行结果:
2.有参数
执行结果:
注意: $10 不能获取第十个参数,获取第十个参数需要 ${10} .
使用 man 查询 指令文档 比如我们想查看 xcodebuild 指令下都有哪些操作,直接在终端执行:
当我们不清楚某一个指令下的操作时,就可以通过 man 查询,然后辅助我们来编写 Shell 指令。
在iOS下,了解下这些 Shell 语法就足够了,已经可以帮助我们完成大部分的 Shell脚本 的编写或者阅读别人的 Shell 源码。不需要记忆,简单看下就可以。
shell脚本 -d 是目录文件,那么-e,-f分别是什么?还有! -e这又是什么意思呢?
-e表示如果filename存在,则为真。
-f表示如果filename为常规文件,则为真。
!-e表示取非,如果filename存在,则为假。
扩展资料:
shell和shell脚本的区别:
确切一点说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。
作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。
它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。
参考资料来源:百度百科-Shell脚本
linux下的shell是什么?
什么是shell
shell是用户和Linux
操作系统
之间的
接口
。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的
特性
。
什么是shell
Linux系统的shell作为操作系统的
外壳
,为用户提供使用操作系统的接口。它是
命令语言
、命令
解释程序
及
程序设计语言
的统称。
shell是用户和
Linux内核
之间的接口
程序
,如果把Linux内核想象成一个
球体
的中心,shell就是围绕
内核
的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。
shell是一个命令语言
解释器
,它拥有自己内建的shell命令集,shell也能被系统中其他
应用程序
所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。
Shell是一种具备
特殊功能
的程序,
它是介于使用者和
UNIX/linux
操作系统之核心
程序(kernel)间的一个接口。为什么我们说
shell
是一种介于系统核心程序与使用者
间的中介者呢?读过操作系统概论的读者们都知道操作系统是一个
系统资源
的管理者与分
配者,当您有需求时,您得向系统提出;从操作系统的角度来看,它也必须防止使用者因
为错误的操作而造成系统的伤害?众所周知,对
计算机
下命令得透过命令(command)
或
是程序(program);程序有编译器(compiler)将程序转为
二进制代码
,可是命令呢?
其实shell
也是一支程序,它由
输入设备
读取命令,再将其转为计算机可以了解的机械码,
然后执行它。
各种操作系统都有它自己的
shell,以
DOS
为例,它的
shell
就是
command.com文
件。如同
DOS
下有
NDOS,4DOS,DRDOS
等不同的命令解译程序可以取代标准的
command.com
,UNIX
下除了
Bourne
shell(/bin/sh)
外还有
C
shell(/bin/csh)、
Korn
shell(/bin/ksh)、Bourne
again
shell(/bin/bash)、Tenex
C
shell(tcsh)
等其它的
shell。UNIX/linux将
shell
独立于核心程序之外,
使得它就如同一般的应用
程序,
可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。
有一些命令,比如改变工作目录命令cd,是包含在shell
内部
的。还有一些命令,例如
拷贝
命令cp和移动命令rm,是存在于
文件系统
中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。
shell首先检查命令是否是
内部命令
,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的
实用程序
,如ls和rm,也可以是购买的商业程序,如xv,或者是
自由软件
,如emacs)。然后shell在搜索
路径
里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个
可执行文件
,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为
系统调用
并传给Linux内核。
shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在
高级语言
中能见到的程序
元素
,如
函数
、
变量
、
数组
和程序控制结构。shell
编程语言
简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。
当普通用户成功登录,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。
一旦出现了shell提示符,就可以键入
命令名称
及命令所需要的
参数
。shell将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从
键盘
上按ctrl+c发出中断
信号
来中断它(在正常结束之前,中止它的执行)。
当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。
在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。一般来说,shell是指操作系统中,提供访问内核所提供之服务的程序。
一、shell的分类:
1、图形界面shell(Graphical User Interface shell 即 GUI shell)
例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统),还有也包括广为人知的 Linux shell,其中linux shell 包括 X window manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE。
2、命令行式shell(Command Line Interface shell ,即CLI shell)
例如:bash / sh / ksh / csh(Unix/linux 系统)(MS-DOS系统);
cmd.exe/ 命令提示字符(Windows NT 系统);
Windows PowerShell(支援 .NET Framework 技术的 Windows NT 系统)。
二、shell的命令描述:
1、使用用户的缺省凭证和环境执行 shell。
2、在UEFI环境下,EFI的shell环境提供了一组丰富的扩展和增强的命令,在以后的计算机中,传统的DOS界面将会被shell环境所取代,所有的.exe文件将不会在以后支持shell的环境中出现,取而代之的文件后缀是.efi。
shell是一种接口,它连接了用户和内核,使用户能够与系统进行交互操作。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”
Linux系统提供多种不同的Shell以供选择。在Linux系统中,默认的Shell是Bourne Again Shell(bash)。
linux常用的三种shell:
Linux中的shell有多种类型,其中最常用的三种是bourne shell(sh)、c shell(csh)、korn shell(ksh)。
1、Bourne shell
Bourne shell 是一个交换式的命令解释器和命令编程语言。
Bourne shell曾作为管理系统的常用工具,是UNIX操作系统的标准shell。大部份的系统管理命令文件,例如 rc start、stop
与shutdown 都是Bourne shell 的命令档,且在单一使用者模式(single user mode)下以 root
签入时它常被系统管理者使用。Bourne shell因其简洁高效而闻名,它是由AT&T开发的。 Bourne shell 提示符号的默认值是
$。
2、c shell
c shell是一种比 Bourne Shell更适合的变种
Shell,使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。
C shell 是柏克莱大学所开发的,且加入了一些新特性,如命令列历程、别名、内建算术、档名完成、和工作控制。对于常在交谈模式下执行 shell
的使用者而言,他们较喜爱使用 C shell;但对于系统管理者而言,则较偏好以 Bourne shell 来做命令档,因为 Bourne shell 命令档比
C shell 命令档来的简单及快速。C shell 提示符号的默认值是 %。
3、korn shell
korn shell是一个 Unix shell 。在20世纪80年代早期,David Korn在贝尔实验室编写了它。它完全向上兼容 Bourne
shell 并包含了 C shell 的很多特性,例如贝尔实验室用户需要的命令编辑。
Korn shell 是Bourne shell 的超集,由 AT&T 的 David Korn 所开发。它增加了一些特色,比 C shell
更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式万用字符、内建算术、工作控制、共作处理、和特殊的除错功能。Bourne
shell 几乎和 Korn shell 完全向上兼容,所以在 Bourne shell 下开发的程序仍能在 Korn shell 上执行。Korn shell
提示符号的默认值也是 $。在 Linux 系统使用的 Korn shell 叫做 pdksh,它是指 Public Domain Korn Shell。
设计一个Shell程序,在userdata目录下建立50个目录,即user1~user50,
(1)编写shell程序fileback:
#!/bin/sh
DIRNAME=`ls
/root
|
grep
bak`
if
[
-z
"$DIRNAME"
]
;
then
mkdir
/root/bak
cd
/root/bak
fi
YY=`date
+%y`
MM=`date
+%m`
DD=`date
+%d`
BACKETC=$YY$MM$DD_etc.tar.gz
tar
zcvf
$BACKETC
/etc
echo
"fileback
finished!"
(2)编写任务定时器:
echo
"0
0
1
*
*
/bin/sh
/usr/bin/fileback"
>;
/root/etcbakcron
crontab
/root/etcbakcron
或使用crontab
-e
命令添加定时任务:
0
1
*
*
*
/bin/sh
/usr/bin/fileback
Shell编程请查看《Linux就该这么学》第四章内容。