利用shell编程实现DOS风格的Linux命令行
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-07 10:07:00 浏览: 评论:0
如果你是习惯于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命令选项在执行某一文件之前检查它是否存在.
Tags: shell编程 DOS风格 Linux命令行
- 上一篇:Shell启动文件与环境变量
- 下一篇:Shell常见知识
相关文章
- ·Shell编程:Linux系统环境程序设计之路(2014-03-05)
- ·Linux shell编程学习之一:什么是shell(2014-03-07)
- ·Linux的Shell编程 运行Shell程序的方法(2014-03-07)
- ·Linux的Shell编程bash的内部命令(2014-03-07)
- ·Linux的Shell编程 Shell基本语法(2014-03-07)
- ·Linux的Shell编程 Shell程序设计的流程控制(2014-03-07)
- ·如何在Linux命令行模式下修改系统时间(2014-03-09)
- ·教你在linux系统中如何进入linux命令行(2014-03-09)
- ·linux命令行乱码的解决方式(2014-03-10)
- ·通过linux命令行修改IP的两种方式(2014-03-10)
- ·Linux命令行修改IP、网关、DNS的方法(2014-03-10)
- ·如何使用linux命令行登陆(2014-03-11)
- ·Linux系统下图形界面与Linux命令行模式的切换(2014-03-11)
- ·linux下在命令行快速打开html页面的小技巧(2015-04-28)
- ·在Linux系统通过命令行执行php文件传参方法(2015-04-29)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)