如何编写一个shell脚本
2017-07-01 15:51
169 查看
如何编写一个shell脚本
本文结合大量实例阐述如何编写一个shell脚本。
一、为什么要进行shell编程
在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。
下面,让我们一起来看看shell是如何工作的:
二、建立一个脚本
Linux中有好多种不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell中运行)。
如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。程序必须以下面的行开始(必须放在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
chmod +x filename
然后,您可以通过输入: ./filename 来执行您的脚本。
注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
变量名=值
取出变量值可以加一个美元符号($)在变量前面:
[code=bash;toolbar:false"> #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a #!/bin/sh if [ "$SHELL" = "/bin/bash" ]; then echo "your login shell is the bash (bourne again shell)" else echo "your login shell is not bash but $SHELL" fi#!/bin/sh ftype=`file "$1"` case "$ftype" in "$1: Zip archive"*) unzip "$1" "$1: gzip compressed"*) gunzip "$1" "$1: bzip2 compressed"*) bunzip2 "$1" *) error "File $1 can not be uncompressed with smartzip";; esac#!/bin/sh for var in A B C do echo "var is $var" done#!/bin/sh echo "*.jpg" echo '*.jpg'
本文结合大量实例阐述如何编写一个shell脚本。
一、为什么要进行shell编程
在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。
下面,让我们一起来看看shell是如何工作的:
二、建立一个脚本
Linux中有好多种不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell中运行)。
如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。程序必须以下面的行开始(必须放在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
chmod +x filename
然后,您可以通过输入: ./filename 来执行您的脚本。
注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
变量名=值
取出变量值可以加一个美元符号($)在变量前面:
[code=bash;toolbar:false"> #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a #!/bin/sh if [ "$SHELL" = "/bin/bash" ]; then echo "your login shell is the bash (bourne again shell)" else echo "your login shell is not bash but $SHELL" fi#!/bin/sh ftype=`file "$1"` case "$ftype" in "$1: Zip archive"*) unzip "$1" "$1: gzip compressed"*) gunzip "$1" "$1: bzip2 compressed"*) bunzip2 "$1" *) error "File $1 can not be uncompressed with smartzip";; esac#!/bin/sh for var in A B C do echo "var is $var" done#!/bin/sh echo "*.jpg" echo '*.jpg'
相关文章推荐
- 如何编写一个shell脚本
- 朋友的一个问题:Linux开机如何自动运行自己编写好的shell脚本
- 如何编写一个能读取Powerbuilder的数据窗口中数据的程序
- 如何编写一个自动投票程序
- 如何编写一个 XML Schema
- 如何编写一个自动投票程序
- 如何编写一个模糊查询的存储过程
- 编写一个浮动按钮控件(如何给控件添加MouseOut事件)
- 如何轻松编写一个强大的字符串分解器-Java基础-Java-编程开发
- 编写一个浮动按钮控件(如何给控件添加MouseOut事件)
- 如何编写一个ASP类
- 如何在VB 6.0 sp6 中使用WindowsMediaPlayer控件?编写一个属于自己的多媒体播放器?
- 如何使用一个不错的图表组件WebChart(免费) 用c#编写
- 如何编写一个自动投票程序
- 如何编写一个shell脚本
- 如何编写一个shell脚本
- 如何编写一个简单的 taglib
- 如何编写一个自动投票程序
- 如何编写一个shell脚本(转贴)
- 如何编写一个文件捆绑工具