你的位置:首页 > 软件开发 > 操作系统 > 一篇文章学懂Shell脚本

一篇文章学懂Shell脚本

发布时间:2017-06-18 12:00:17
Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让 ...

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。

这样我们便写出来了第一个最简单的脚本,下面我们可以尝试着写一些复杂的脚本。


Shell中的变量

myText="hello world"muNum=100

Shell中的四则运算

一篇文章学懂Shell脚本

例子程序

#!/bin/bashecho "Hello World !"a=3b=5val=`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"

其它运算符 =、==、!=、!、-o、-a

一篇文章学懂Shell脚本

例子程序

a=3b=5val=`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"fiif [ $a != $b ]then  echo "a is not equal to b"fi

关系运算符

一篇文章学懂Shell脚本

#!/bin/sh例子程序

a=10b=20if [ $a -eq $b ]then  echo "true"else  echo "false"fiif [ $a -ne $b ]then  echo "true"else  echo "false"fiif [ $a -gt $b ]then  echo "true"else  echo "false"fiif [ $a -lt $b ]then  echo "true"else  echo "false"fiif [ $a -ge $b ]then  echo "true"else  echo "false"fiif [ $a -le $b ]then  echo "true"else  echo "false"fi

字符串运算符

一篇文章学懂Shell脚本

数组

#!/bin/sharray=(1 2 3 4 5) #定义数组array2=(aa bb cc dd ee) #定义数组value=${array[3]} #找到某一个下标的数,然后赋值echo $value #打印value2=${array2[3]} #找到某一个下标的数,然后赋值echo $value2 #打印length=${#array[*]} #获取数组长度echo $length

输出程序

echo

#!/bin/shecho "hello world" echo hello world text="hello world"echo $textecho -e "hello \nworld" #输出并且换行echo "hello world" > a.txt #重定向到文件echo `date` #输出当前系统时间

printf

同c语言,就不过多介绍了


判断语句

  • if
  • if-else
  • if-elseIf
  • case
#!/bin/sha=10b=20if [ $a == $b ]then  echo "true"fiif [ $a == $b ]then  echo "true"else  echo "false"fiif [ $a == $b ]then  echo "a is equal to b"elif [ $a -gt $b ]then  echo "a is greater than b"elif [ $a -lt $b ]then  echo "a is less than b"else  echo "None of the condition met"fi

test命令

test $[num1] -eq $[num2] #判断两个变量是否相等test num1=num2 #判断两个数字是否相等

while循环

#!/bin/shCOUNTER=0while [ $COUNTER -lt 5 ]do  COUNTER=`expr $COUNTER + 1`  echo $COUNTERdoneecho '请输入。。。'echo 'ctrl + d 即可停止该程序'while read FILMdo  echo "Yeah! great film the $FILM"done
#!/bin/shtest(){  echo $1 #接收第一个参数  echo $2 #接收第二个参数  echo $3 #接收第三个参数  echo $# #接收到参数的个数  echo $* #接收到的所有参数}test aa bb cc

重定向

$echo result > file #将结果写入文件,结果不会在控制台展示,而是在文件中,覆盖写$echo result >> file #将结果写入文件,结果不会在控制台展示,而是在文件中,追加写echo input < file #获取输入流

以上便是我对shell知识的总结,欢迎大家点心,评论,一起讨论~~

原标题:一篇文章学懂Shell脚本

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录