天天看点

linux-shell编程

Shell使用c语言编写的程序,通过Shell,用户可以访问操作系统内核服务。它既是一种命令语言,又是一种程序设计语言。

Linux的Shell种类众多,一个系统可以存在多个Shell,通过

cat /etc/shells

命令查看系统中安装的Shell。

由于Bash易用、免费,所以在工作中被广泛使用。同时,Bash也是大多数Liunx系统默认的Shell。

#! /bin/bash
echo "Hello"
           

#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.

echo 命令用于向窗口输出文本。

Shell 脚本的执行:

chmod +x ./hello.sh  #使脚本具有执行权限
./hello.sh   #执行脚本
           

Shell变量

变量=值,a=“test”

注意:变量名和等号之间不能有空格,同时,变量名的命名须遵循如下规则:

  • 首个字符必须为字母(a-z,A-Z)
  • 中间不能有空格,可以使用下划线(_)
  • 不能使用标点符号
  • 不能使用bash里面的关键字(可用help命令查看保留关键字)

    变量使用:

    使用一个定义过的变量,只要在变量名前面加$即可。

    a=“test”

    echo $a

    linux-shell编程

Shell 运算符

Shell 和其他编程语言一样,支持包括:算术、关系、 布尔、字符串等运算符。

原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如expr。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如加,减,乘,除等操作

注意:表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2。

完整的表达式要被``包含,注意不是单引号,在 Esc 键下边。

#!/bin/bash
echo "hello world"
a=4
b=20
#加法运算
echo `expr $a + $b`
#减法运算
echo `expr $b - $a`
#乘法运算,注意*号前面需要反斜杠
echo `expr $a \* $b`

#除法运算
echo `expr $b / $a`
           

流程控制

**if  else  语句**
if ...
then ...
elif ...
then ...
else ...
fi
           

EQ 就是 EQUAL等于

NQ 就是 NOT EQUAL不等于

GT 就是 GREATER THAN大于 

LT 就是 LESS THAN小于

GE 就是 GREATER THAN OR EQUAL 大于等于

LE 就是 LESS THAN OR EQUAL 小于等于

for循环

for n in 1 2 3
do
echo $n
done
打印1-3
           

while循环

while …

do …

done

函数使用

所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至

shell 解释器首次发现它时,才可以使用。 调用函数仅使用其函数名即可。

1、可以带 function fun()定义,也可以直接 fun() 定义,不带任何参数。

2、参数返回,可以显示加 return ,如果不加,将以最后一条命令运行结

果,作为返回值。 return 后跟数值 n(0-255)。

#!/bin/bash
hello(){
 echo "hello world"
 echo "第一个参数为 $1"
 echo "第二个参数为 $2"
}
hello abc 123
           

继续阅读