Shell 脚本简介

来源:互联网 发布:收银机软件免费 编辑:程序博客网 时间:2024/06/05 09:49

1. 什么是 Shell 脚本

个人理解是:Shell 脚本就是为了完成某个功能将一系列的 bash 命令按照一定的规则记录在一起的文件。

2. Hello World

  1 #!/bin/bash  2 PATH=$PATH  3 export PATH  4   5 # This is a Hello world program  6 #author: cuifei  2016/10/23  7   8 echo -e "Hello world ! \n"

上述代码就是一个简单的输出 Hello world 的 Shell 脚本,文件名字是 hellowrodl.sh 。在文本终端进入 helloworld.sh 所在的目录。然后输入 bash helloworld.sh 执行该脚本,在屏幕上就会输出 Hello world !字样。

  • 第一行: #!/bin/bash 声明执行该脚本使用的是哪个 bash,一般在 Linux 中存在不止一个 bash,所以我们在编写脚本的时候应该表明其使用的是哪个 bash 来执行

  • 第二 、三行:设置 PATH 环境变量

  • # 之后的是注释,除了第一行 #!/bin/bash 之外

3. 条件语句

3.1 if … then

3.1.1 简单的 if … else …
if [ a > 0 ];then    echo -e "a is bigger \n"else    echo -e "a is lower \n" fi   

注意: [ ] 的两端内外都有空格,fi 表示 if 结束了。

3.1.2 多层 if
a=10                                                            if [ a > 0 ];then    echo -e "a is bigger \n"    echo -e "$a"elif [ a == 0 ];then    echo -e "a is 0"    echo -e "$a"else    echo -e "a is lower \n"     echo -e "$a"fi

3.2 case … esac

case "$a" in"10")echo -e "10";;"2")echo -e "2";;"*")echo -e "not 10 and 2";;esac

注:case … esac 每一个分之结束都是用 ;; 表示,最后一个分之 *) 表示默认的情况。整个 case 使用 esac 表示结束。

4 循环

4.1 while … do … done

i=0b=0echo -e "i is $i"while [ "$i"<"10" ]do    b=$(($b+$i))    i=$(($i+1))doneecho -e "b is $s"

4.2 for

s=0for ((i=0;i<"10";i=i+1))do   s=$(($s+$i))doneecho -e "s is $s"
0 0
原创粉丝点击