1.Shell编程的基本语法01

1.前言

  shell编程是很重要的,不管是对于系统运维还是数据库运维都是必须要掌握的核心技能

2.变量     

   (1)定义变量
  name=tom
  
  (2)撤销变量
  unset name

 (3)声称全局变量 -->该子shell进程也能继承该变量
  export name
  
 (4)声称静态变量 -->静态变量不能被修改,不能被撤销
  readonly name=tom

3.变量的语法规则 

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
  • 等号两侧不能有空格
  • 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
  • 变量的值如果有空格,需要使用双引号或单引号括起来。

4.特殊变量 

$n:
    $0 :代表的是当前脚本的名称
    $1 :代表脚本后面跟的第一个参数,$2:代表脚本后面的第二个参数,$3...$n 以此类推

$# :代表输入参数的个数

$*和$@ :都能够返回全部参数,但是只有在循环中且放在引号中能够体现出它们的区别。

$? :返回上一条命令的执行结果,如果上一条命令执行成功,返回0,如果命令执行失败,则返回非0数

5.运算符

  (())或[表达式]

[root@apple ~]# echo $((20+30))
50
[root@apple ~]# echo $(((15+15)*2))
60
[root@apple ~]# echo $[(15+15)*2]
60

6.条件判断

  1.基本语法

  • 写法一: test condition
  • 写法二:[ condition ]             ##注意condition前后均有空格 

  2.常用判断条件

  

7.流程控制

  1.if 判断句

    语法:
      

if [[ condition ]]; then

   #statements
else  

   #statements

fi

或者下面的写法也正确(有验证过)

if [ condition ] then
  statments
else
  statments
fi
 
可以看到第一种使用的是双中括号,但是后面的需要跟上; 第二种用的是单中括号,但是后面需要再加上;
  

  2.case分支

case $1 in
    1)
        echo "the value is 1";;
    2)
        echo "the value is 2";;
    3)
        echo "the value is 3";;
    4)
        echo "the value is 4";;
    *)
        echo "defult value"

  3.for循坏 

for (( i=1;i<=10;i++ ))
do
echo $i
done

  4.for in循坏

for i in $*
do
echo $i
done

  5.while循坏

s=0
i=1
while [ $i -le 100 ]
do
        s=$[$s+$i]
        i=$[$i+1]
done

echo $s

或者 

s=0
for ((i=0;i<=100;i++))
do
        s=$(($s+$i))

done
echo $

参考文章  https://blog.csdn.net/weixin_48789028/article/details/107691173

      https://blog.csdn.net/qq_24393347/article/details/100272360

  

  

原文地址:https://www.cnblogs.com/zmc60/p/15175622.html