1.循环
for循环
#方法一
for ((i=0;i<10;i++))
do
printf $i
done
echo
#方法二
for i in 0 1 2 3 4 5 6 7 8 9
do
printf $i
done
echo
#方法三
for i in {0..9}
do
printf $i
done
输出如下
while循环
COUNTER=0
while [ $COUNTER -lt 5 ]
do
COUNTER=`expr $COUNTER + 1`
echo $COUNTER
done
echo '请输入...'
echo 'ctrl + c 即可停止该程序'
while read NUM
do
echo "$NUM"
done
输出如下
循环控制
break #跳出所有循环
break n #跳出第n层循环
continue #跳出当前循环
2. 条件判断
a=10
b=20
if [ $a -eq $b ] #等于
then
echo "true"
else
echo "false"
fi
if [ $a -ne $b ] #不等于
then
echo "true"
else
echo "false"
fi
if [ $a -gt $b ] #大于
then
echo "true"
else
echo "false"
fi
if [ $a -lt $b ] #小于
then
echo "true"
else
echo "false"
fi
if [ $a -le $b ] #小于等于
then
echo "true"
else
echo "false"
fi
if [ $a -ge $b ] #小于等于
then
echo "true"
else
echo "false"
fi
输出如下
这一部分记忆有一个小秘诀,就是根据英文字母来记忆 g即为greater 的首字母,同理,equal ,low
4.case判断
num=10
case $num in
1)
echo 1
;;
2)
echo 2
;;
10)
echo 10
;;
*)
echo somethin else
;;
esac
输出如下
5.算数运算
.加减乘除
echo "hello World !"
a=3
b=5
val=`expr $a + $b`
echo "Total value : $val"
val=`expr $a - $b`
echo "Total value : $val"
val=`expr $a \* $b`
echo "Total value : $val"
val=`expr $a / $b`
echo "Total value : $val"
val=`expr $a % $b`
echo "Total value : $val"
if [ $a == $b ]
then
echo "a is equal to b"
fi
if [ $a != $b ]
then
echo "a is not equal to b"
fi
输出如下
6.逻辑运算符
。if [条件A] && [条件B]
。if((A&&B)
。if[[ A&&B ]]
num1=10
num2=20
num3=15
if [[ $num1 -lt $num3 && $num2 -gt $num3 ]]
then
echo $num3 is between 10 and 20
else
echo something else
fi
输出如下
7.函数
read
read命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后。read命令将数据放入一个标准变量中。
declare
申请变量的类型
declare [-aixr] variable
-i: 把变量定义为整数
-a: 把变量定义为数组
-x: 把变量变成环境变量
-r: 可读变量
#定义一个没有返回值的函数,然后调用该函数
sysout(){
echo "hello world"
}
sysout
#定义一个有返回值得函数,调用该函数,输出结果
test(){
aNum=3
anotherNum=5
return $(($aNum+$anotherNum))
}
test
result=$?
echo $result
#定义了一个需要传递参数的函数
test(){
echo $1 #接收第一个参数
echo $2 #接收第二个参数
echo $3 #接收第三个参数
echo $# #接收到参数的个数
echo $* #接收到的所有参数
}
test aa bb cc
read -p "Enter your name:" VAR_NAME
echo "hello $VAR_NAME, welcome to my program"
read -t 10 -p "enter your name:" VAR_NAME
echo "hello $VAR_NAME,welcome to my program"
read -s -p "Enter your password: " pass
echo "hello $VAR_NAME,your password is $pass"
sum=1+2+3
echo $sum
declare -i sum=1+2+3
echo $sum
输出如下
8.字符串操作
str1="Hello"
str2="World"
echo ${#str1} #输出字符串长度
echo ${str1:0:3} #截取字符串
echo $str1" "$str2 #字符串拼接
输出如下:
9.重定向
注意 :0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR) 。
$echo result > file #将结果写入文件,结果不会在控制台展示,而是在文件中,覆盖写
$echo result >> file #将结果写入文件,结果不会在控制台展示,而是在文件中,追加写
echo input < file #获取输入流
$ command > file 2>&1 # 将 stdout 和 stderr 合并后重定向到 file,
$ command < file1 >file2 # command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2。
9.其他命令
date
格式化的输出 + %Y - %m - %d
格式%s表示自1970-01-01 00:00:00 以来的秒数
参考链接: