Shell编程(一)

前言:我的简历中写到熟悉linux常用命令,能进行shell编程,因此学习shell编程是必须的了。

阅读目录:

  • 一、shell与bash

  • 二、shell脚本的结构及执行

  • 三、shell中的循环、if判断、函数

一、shell与bash

shell是用户与linux操作系统内核交互的接口程序,也是一个命令语言解释器​,将用户输入的命令解释给linux内核。

​Shell有很多种类,常见的有Bourne Shell(/usr/bin/sh或/bin/sh),Bourne Again Shell(/bin/bash),C shell(/usr/bin/csh),K Shell(/usr/bin/ksh),Shell for root(/sbin/sh)等。

bash是shell的一种,也是大多数linux系统默认使用的shell。

二、shell脚本的结构及执行

1.脚本格式

  利用vi编辑器编写脚本​的格式是固定的,如下:

 #!/bin/sh​     //#!告诉系统其后面路径指定的程序就是解释此脚本文件的shell程序。

#comments    //注释行

your commands go here 

2.执行脚本

 编辑完脚本后,保存文件名为filename.sh,在运行此脚本前,需要修改此脚本的可执行权限:

chmod+X  fi​lename.sh

执行脚本:

  ./filename.sh

3.最简单的hello world 程序

#!​/bin/sh

a="hello world";            //变量赋值  variable_name = variable_value

echo $a;​                        //使用变量$variable或${variable}

三、shell中的循环、if 判断、函数

1.  for循环​

for  i  in  $(seq 0 5) ;do 

    echo $i​

   done​

2.while循环

 while 条件;do

   command

done

比如: a=10

    while ​[$a -ge 1];do

         ​echo $a

         a=$[$a-1​]

done

3.  if  判断语句; then  command   fi

     if 判断语句; then  command 

     else​  command

     fi

      if 判断语句一; then  command

      elif判断语句二;  then  command

      else command

       fi

if((a<5))  等同于  if[$a -lt 5]​   -lt 小于

if((a>5))​ 等同于 if[$a -gt 5]   -gt 大于

​if((a>=5)) 等同于if[$a -ge 5]  -ge 大于等于

​if((a<=5))等同于if[$a -le 5]    -le 小于等于

if((a==5))等同于 if[$a -eq 5]   -eq 等于

if((a!=5))​等同于 if[$a -ne 5]    -ne 不等于

判断数值大小除了(())的形式外,还可以使用[]​

​数学计算要用[]括起来并且外面要带一个$ 

a=1

b=2

sum=$[$a+$b]​

4. shell脚本中的函数

function 函数名(){

command

}   

在shell脚本中,函数要写在最前面。

function sum(){

sum=$[$1+$2]

echo $sum

}

sum $1 $2​

原文地址:https://www.cnblogs.com/whx7762/p/7717627.html