首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
中国IT实验室Linux频道
中国IT教育
首页 新手入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> Linux编程 >> SHELL编程 >> 文章正文

利用shell编程实现DOS风格的Linux命令行

文章来源ChinaITLab收集整理 作者 更新时间2005-7-5 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

  如果你是习惯于Windows命令提示符的IT人,当你第一次使用Linux命令行时,一定会感到无所适从。你所熟悉的DOS命令再Linux中基本不存在。摆在你面前的是一大堆要记背的命令。
  
  一种替代方案是利用强大的Linux外壳命令编写shell脚本,让你在Linux下也能用DOS命令。下面告诉你怎么做。
  
  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命令选项在执行某一文件之前检查它是否存在。
  
【责编:admin】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·Linux 安全管理
 ·Linux 下DNS服务器架设攻略
 ·Linux 下的路由的配置与应用
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 ·Linux常用命令全集
 ·GRUB 玩转任意操作系统多重启动引导
 ·想传就传 多平台随心所欲架设FTP
 ·网络圈地 建立企业web服务器专题
 ·Linux安装指南专题
 今日更新
 认证培训
 频道精选
 Windows频道导航