您的位置:首页 > 运维架构 > Shell

如何编写一个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'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: