Linux下shell的简单编程

原创 2004年09月22日 13:43:00
Linux下shell的简单编程 

转自:动态网制作指南 www.knowsky.com

 
    shell脚本编写基础


     从定时备份到执行简单命令,Linux的shell脚本可以执行各种功能。几乎所有的程序都可以用shell脚本来运行。在脚本中甚至可以包含一些简单的条件选择。shell脚本的基本格式如下:

#!/bin/sh

...

Your commands here

...

    注意文件以#!/bin/sh开始。这条语句告诉操作系统用来解释脚本的程序位置。大多数系统会有/bin/sh目录,因为该目录包含root用户的标准shell程序。在大部分系统中你也可以指定/bin/bash目录。每种shell的脚本都有所不同。一些shell,比如bash,支持比标准shell更多的命令。在大多数Linux版本中sh实际上就是bash。从脚本运行命令十分简单,很像在Windows DOS提示符下运行命令。举个例子,通过下面这段语句可以拷贝文件:

#!/bin/sh

cp file1 file2

mv file2 file3

echo "complete" > complete.txt

    自动执行命令对那些不需人工干预的任务很有用,但对一般用户来说并不那么有用。为此,shell脚本在执行过程中允许用户输入命令行参数,然后利用输入的参数运行命令。脚本中输入参数用$1到$9表示。如果你曾写过DOS批处理文件,你会发现批处理文件中也有类似功能,只是它用的是%1、%2等来代表输入参数。下面举例来说怎样使用命令行参数:


 
#!/bin/sh

cp $1 $2       //传入两个参数

    上段脚本接受2个命令行参数,第一个是要拷贝的原文件,第二个是拷贝的目标文件。运行脚本的命令格式是:./myscript file1 file2,myscript代表脚本文件名。命令行选项也可以通过这种方式传递,如:

#!/bin/sh

cp $1 $2 $3

    键入./copy –r sourcedir destdir形式的命令执行上段脚本,即可递归拷贝$2目录下所有文件到$3目录下。选项$1为-r时能让cp命令递归拷贝所有文件。

含条件选择的shell脚本
    对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包括比较运算、判断文件是否存在等。基本的if条件命令选项有:

-eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。

初识Shell Scripts编程--最最简单的shell例子

前段时间因为要往一个文件写入一系列随机数给大家用,自己用C语言写了一个,把源文件发给大家,然后大家还要编译,运行,有时候里面的代码需要修改重新编译运行,很是麻烦,其实这些都可以用简单的Shell Sc...
  • lavorange
  • lavorange
  • 2013年07月31日 21:55
  • 2869

一个简单的shell程序

a simple sh
  • shuxiaogd
  • shuxiaogd
  • 2015年10月21日 15:35
  • 1849

shell简单编程

赋值与循环分支 $x 用于取变量x的值 $1 表示第一个参数,$#表示参数个数,shift移动一个参数。 let i=$x+$y,为整数操作赋值,所以必须有两个以上操作数.当只有一个操作数时使用,i=...
  • u013855332
  • u013855332
  • 2016年06月10日 13:17
  • 172

几个简单的shell编程题

下面是几个关于shell简单的编程题目,算是熟悉一下shell吧 首先打开我们的终端,然后进入我的共享文件 cd /mnt/hgfs 看到在共享文件下游一个文件夹virtual 进入virtua...
  • wozaidengnihaojiu
  • wozaidengnihaojiu
  • 2016年06月23日 23:17
  • 484

实验9:shell及shell编程

实验9:shell及shell编程 1、实验目的 1)sed的使用; 2)awk的应用; 3)shell及shell编程; 4) 与用户启动相关的文件及使用。 2、实现设备 一台装有Windows操作...
  • gz153016
  • gz153016
  • 2016年04月08日 15:07
  • 1216

Shell编程入门总结(一)

本文的主要内容: 1、编写Shell脚本的一般步骤 2、在Shell脚本中输出文本 3、Shell脚本中的变量 4、Shell脚本中的函数 5、流程控制:if 分支结构 6、Shell中读取键盘输入...
  • CSDN_SXL
  • CSDN_SXL
  • 2016年04月28日 21:55
  • 5365

Linux编程实现一个简单的Shell

在linux中实现一个简单的命令解释程序,功能要求: 1)同时支持内部命令和外部命令,内部命令支持两个(cd、exit) 2)支持后台命令 首先解释一下上面的两个要求,实际上是三种情况: 1.如果是...
  • whoami021
  • whoami021
  • 2013年12月22日 21:31
  • 2118

我的一些简单的shell脚本实例

自己写了一下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写,而我,只会在linux下工作,所以就只能写linux的shell脚本了,呵呵,本文会...
  • jb19900111
  • jb19900111
  • 2013年10月29日 14:37
  • 11721

linux常用命令和shell编程

★shell编程 #!/bin/bash 指定了shell脚本的执行shell 使用bash命令来运行脚本时,-v和-x选项可以显示输入行和命令。 1.变量 变量名区分大小写,无须...
  • huangjm_13
  • huangjm_13
  • 2013年07月06日 14:57
  • 4227

我的一些简单的shell脚本实例

自己写了一下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写,而我,只会在linux下工作,所以就只能写linux的shell脚本了,呵呵,本文会...
  • vevenlcf
  • vevenlcf
  • 2015年03月18日 11:51
  • 5457
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下shell的简单编程
举报原因:
原因补充:

(最多只允许输入30个字)