文件的第一行必须是
#!/bin/bash
参数
- $PWD 执行命令的文件路径
- $0 当前程序的名称
- $n 程序输入参数 $1 就表示输入的第一个参数
- $* 所有的输入参数
- $# 输入参数的个数
- $? 命令执行状态,一般返回0代表成功,表示的是上一个的命令是否成功
循环
# for 循环(这种写法要是双括号)
for (( i = 0; i < 10; i++ )); do
#statements
done
# forin 写法 这种可能更加常用点
for i in words; do
#statements
done
# while普通的
while ((condition)) ; do
#statements
done
# 此while写法中,可以使用命令
while [ condition ]; do
#statements
done
比如
i=0
while [ $i -lt 100 ]; do
echo "数字 $i"
i=`expr $i + 1`
done
条件判断
Shell 基本运算符 www.runoob.com/linux/linux…
num1=300
num2=400
if((num1>num2));then
echo "num1>num2"
else((num1<num2))
echo "num1<num2"
fi
# 和while 类似也有 [ condition ] 的写法
if [ condition ]; then
#statements
else #statements
fi
函数
函数的定义
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255) return 后的数值是表示的是此命令的执行结果,只是此命令出错的时候使用
函数传参数
在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
等待输入
#!/bin/bash
fun() {
read -p "请输入数值" num
echo $[2*$num]
}
result=`fun`
echo "结果是=$result"
算数运算方式
- $(())
r=$((4 + 5))
echo $r
- $[]
r=$[4+5]
echo $r
- let命令
i=1
let i=i+1
echo $i
- 使用 expr 外部程式
r=`expr 4 + 5`
echo $r