Shell脚本,正是利用Shell的一声令下解释的法力,对贰个纯文本的公文进行解析,然后实施那几个成效,也能够说Shell脚本正是壹多元命令的集结。
Shell能够一向使用在win/Unix/Linux上边,并且能够调用大批量种类之中的功力来诠释实施顺序,假诺熟知掌握Shell脚本,能够让大家操作电脑变得更其轻松,也会节约千千万万时刻。

Shell脚本,便是选拔Shell的命令解释的法力,对3个纯文本的公文实行解析,然后实施那几个效应,也得以说Shell脚本正是壹多重命令的集合。
Shell能够一贯运用在win/Unix/Linux上面,并且能够调用多量系统内部的功力来诠释实施顺序,如若熟知明白Shell脚本,能够让大家操作电脑变得越发自在,也会节约不可胜言岁月。

1篇文章学懂Shell脚本,

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。
Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。

Shell脚本,就是选拔Shell的授命解释的功能,对多个纯文本的文件实行分析,然后实施那些作用,也可以说Shell脚本正是一名目繁多命令的集结。
Shell能够间接选择在win/Unix/Linux上面,并且可以调用大批量类别之中的效力来解释施行顺序,就算熟练精通Shell脚本,可以让我们操作电脑变得更其轻松,也会省掉举不胜举年华。

Shell应用场景

Shell应用场景

Shell应用场景

Shell应用场景

Shell能做什么样

  • 将有些繁杂的一声令下简单化(平日我们提交一遍github代码只怕供给过多手续,可是足以用Shell简化成一步)
  • 能够写一些本子自动达成1个工程中自动转换最新的sdk(库)
  • 电动打包、编写翻译、公布等职能
  • 清理磁盘中空文件夹
  • 简单的讲1切有规律的活脚本都得以尝尝一下

Shell能做什么

  • 将部分复杂的通令简单化(平常大家付出叁遍github代码或然须要过多步骤,不过能够用Shell简化成一步)
  • 能够写壹些本子自动达成四个工程中活动转换最新的sdk(库)
  • 电动打包、编译、宣布等职能
  • 理清磁盘中空文件夹
  • 同理可得一切有规律的活脚本都足以尝试一下

Shell能做如何

  • 将1部分参差不齐的下令不难化(平常我们付出2遍github代码也许要求多多步骤,不过可以用Shell简化成一步)
  • 能够写1些本子自动落成二个工程中自动转换最新的sdk(库)
  • 机关打包、编写翻译、发表等职能
  • 理清磁盘中空文件夹
  • 总的说来壹切有规律的活脚本都足以品尝一下

Shell能做哪些

  • 将部分繁杂的授命简单化(日常我们付出二回github代码可能必要多多步骤,然则能够用Shell简化成一步)
  • 能够写一些本子自动完结三个工程中活动转换最新的sdk(库)
  • 机关打包、编写翻译、发表等职能
  • 理清磁盘中空文件夹
  • 简单来说壹切有规律的活脚本都足以尝尝一下

Shell无法做什么

  • 内需精密的运算的时候
  • 一篇文章学懂Shell脚本。亟需语言功用很高的时候
  • 亟待有的互连网操作的时候
  • 显而易见Shell就是足以高速支付3个本子简化开发流程,并不可以用来替代高级语言

Shell无法做什么

  • 亟需精密的运算的时候
  • 亟待语言功用很高的时候
  • 必要有的互联网操作的时候
  • 不问可见Shell正是足以急速支付二个本子简化开发流程,并无法用来取代高级语言

Shell无法做什么

  • 亟待精密的演算的时候
  • 供给语言功效很高的时候
  • 急需有的互联网操作的时候
  • 同理可得Shell便是足以长足支付3个本子简化开发流程,并不可能用来代表高级语言

Shell无法做什么

  • 要求精密的运算的时候
  • 急需语言功效很高的时候
  • 内需有的互联网操作的时候
  • 由此可见Shell正是足以火速支付二个本子简化开发流程,并不能用来顶替高级语言

Shell的劳作规律

Shell能够被称作是脚本语言,因为它自己是不供给编写翻译的,而是经过解释器解释之后再编写翻译执行,和守旧语言比较多了诠释的经过所以效能会略差于古板的直接编译的语言。


Shell的办事原理

Shell能够被称作是脚本语言,因为它自个儿是不必要编写翻译的,而是经过解释器解释之后再编写翻译执行,和观念语言相比较多理解释的经过所以作用会略差于古板的第1手工编织译的语言。


Shell的做事原理

Shell能够被称作是脚本语言,因为它自身是不须要编写翻译的,而是通过解释器解释之后再编写翻译执行,和历史观语言比较多了表达的经过所以功用会略差于守旧的直接编写翻译的言语。


Shell的干活原理

Shell可以被称作是脚本语言,因为它本身是不供给编写翻译的,而是经过解释器解释之后再编写翻译执行,和观念语言相比较多了诠释的经过所以功能会略差于守旧的第二手工编织译的语言。


最简便的台本:

#!/bin/bash
echo "Hello World"

只供给打开文本编辑工具,编辑成以上的规范,然后保留成test.sh

最简便易行的脚本:

#!/bin/bash
echo "Hello World"

只要求开拓文本编辑工具,编辑成以上的指南,然后保留成test.sh

最简单易行的剧本:

#!/bin/bash
echo "Hello World"

只需求开拓文本编辑工具,编辑成以上的楷模,然后保留成test.sh

最简便的台本:

#!/bin/bash
echo "Hello World"

只必要开辟文本编辑工具,编辑成以上的榜样,然后保留成test.sh

运营该脚本:

1. cd 到该目录下
2. chmod +x ./test.sh  #给脚本权限
3. ./test.sh  #执行脚本

澳门金沙国际 1

效果图1

如此大家便写出来了第多少个最简便的台本,下边我们能够尝试着写1些繁杂的本子。


运转该脚本:

1. cd 到该目录下
2. chmod +x ./test.sh  #给脚本权限
3. ./test.sh  #执行脚本

澳门金沙国际 2

效果图1

如此那般大家便写出来了第一个最简易的剧本,上面大家得以品味着写壹些扑朔迷离的脚本。


运作该脚本:

1. cd 到该目录下
2. chmod +x ./test.sh  #给脚本权限
3. ./test.sh  #执行脚本

澳门金沙国际 3

效果图1

诸如此类大家便写出来了第3个最简单易行的本子,下边大家能够品尝着写1些复杂的台本。


运作该脚本:

1. cd 到该目录下
2. chmod +x ./test.sh  #给脚本权限
3. ./test.sh  #执行脚本

效果图1

那般大家便写出来了第一个最简便易行的脚本,上边大家得以尝尝着写1些错综复杂的本子。


Shell中的变量

myText="hello world"
muNum=100

那当中须求注意的正是,“=”前后不能有空格,命名规则就和别的语言同样了。

Shell中的变量

myText="hello world"
muNum=100

那一个中须求小心的正是,“=”前后不可能有空格,命名规则就和其余语言同样了。

Shell中的变量

myText="hello world"
muNum=100

那在那之中须求留意的正是,“=”前后不可能有空格,命名规则就和别的语言1样了。

Shell中的变量

myText="hello world"
muNum=100

那中间要求专注的正是,“=”前后无法有空格,命名规则就和此外语言一样了。

做客变量

myText="hello world"
muNum=100
echo $myText
echo muNum

当想要访问变量的时候,要求选择$,不然输出的将是纯文本内容,如下图所示。

澳门金沙国际 4

效果图2

走访变量

myText="hello world"
muNum=100
echo $myText
echo muNum

当想要访问变量的时候,要求利用$,否则输出的将是纯文本内容,如下图所示。

澳门金沙国际 5

效果图2

走访变量

myText="hello world"
muNum=100
echo $myText
echo muNum

当想要访问变量的时候,需求利用$,不然输出的将是纯文本内容,如下图所示。

澳门金沙国际 6
效果图2

走访变量

myText="hello world"
muNum=100
echo $myText
echo muNum

澳门金沙国际 ,当想要访问变量的时候,供给利用$,不然输出的将是纯文本内容,如下图所示。

效果图2

Shell中的肆则运算

Shell中的四则运算

Shell中的四则运算

Shell中的四则运算

运算符 含义
+ 加法运算
减法运算
* 乘法运算
/ 除法运算

澳门金沙国际 7

澳门金沙国际 8

澳门金沙国际 9

事例程序

#!/bin/bash
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"

这中间需求注意的便是,定义变量的时候“=”前后是不能够有空格的,不过进展四则运算的时候运算符号前后一定要有空格,乘法的时候供给展开转义。

效果图3.png


事例程序

#!/bin/bash
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"

那当中必要留意的就是,定义变量的时候“=”前后是不可能有空格的,可是实行四则运算的时候运算符号前后一定要有空格,乘法的时候供给展开转义。

澳门金沙国际 10

效果图3.png


事例程序

#!/bin/bash
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"

那中间要求留意的正是,定义变量的时候“=”前后是不可能有空格的,可是进展肆则运算的时候运算符号前后一定要有空格,乘法的时候必要开展转义。

澳门金沙国际 11

效果图3.png


事例程序

#!/bin/bash
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"

那当中要求小心的正是,定义变量的时候“=”前后是不能够有空格的,可是进展四则运算的时候运算符号前后一定要有空格,乘法的时候须求开始展览转义。

澳门金沙国际 12
效果图3.png


任何运算符 =、==、!=、!、-o、-a

运算符 含义
% 求余
== 相等
= 赋值
!= 不相等
!
-o
-a

别的运算符 =、==、!=、!、-o、-a

澳门金沙国际 13

另对外运输算符 =、==、!=、!、-o、-a

澳门金沙国际 14

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

澳门金沙国际 15

事例程序

a=3
b=5
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

效果图4


事例程序

a=3
b=5
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

澳门金沙国际 16

效果图4


事例程序

a=3
b=5
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

澳门金沙国际 17

效果图4


事例程序

a=3
b=5
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

澳门金沙国际 18
效果图4


涉嫌运算符

运算符 含义
-eq 两个数相等返回true
-ne 两个数不相等返回true
-gt 左侧数大于右侧数返回true
-It 左侧数小于右侧数返回true
-ge 左侧数大于等于右侧数返回true
-le 左侧数小于等于右侧数返回true

提到运算符

论及运算符

涉及运算符

事例程序

#!/bin/sh
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 -ge $b ]
then
   echo "true"
else
   echo "false"
fi

if [ $a -le $b ]
then
   echo "true"
else
   echo "false"
fi

效果图5


澳门金沙国际 19

澳门金沙国际 20

澳门金沙国际 21

字符串运算符

运算符 含义
= 两个字符串相等返回true
!= 两个字符串不相等返回true
-z 字符串长度为0返回true
-n 字符串长度不为0返回true

运算符 含义
-d file 检测文件是否是目录,如果是,则返回 true
-r file 检测文件是否可读,如果是,则返回 true
-w file 检测文件是否可写,如果是,则返回 true
-x file 检测文件是否可执行,如果是,则返回 true
-s file 检测文件是否为空(文件大小是否大于0,不为空返回 true
-e file 检测文件(包括目录)是否存在,如果是,则返回 true

#!/bin/sh例子程序

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 -ge $b ]
then
   echo "true"
else
   echo "false"
fi

if [ $a -le $b ]
then
   echo "true"
else
   echo "false"
fi

澳门金沙国际 22

效果图5


#!/bin/sh例子程序

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 -ge $b ]
then
   echo "true"
else
   echo "false"
fi

if [ $a -le $b ]
then
   echo "true"
else
   echo "false"
fi

澳门金沙国际 23

效果图5


#!/bin/sh例子程序

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 -ge $b ]
then
   echo "true"
else
   echo "false"
fi

if [ $a -le $b ]
then
   echo "true"
else
   echo "false"
fi

澳门金沙国际 24
效果图5


字符串

#!/bin/sh
mtext="hello"  #定义字符串
mtext2="world"
mtext3=$mtext" "$mtext2  #字符串的拼接
echo $mtext3  #输出字符串
echo ${#mtext3}  #输出字符串长度
echo ${mtext3:1:4}  #截取字符串

效果图6


字符串运算符

澳门金沙国际 25


澳门金沙国际 26


字符串运算符

澳门金沙国际 27


澳门金沙国际 28


字符串运算符

澳门金沙国际 29


澳门金沙国际 30


数组

#!/bin/sh
array=(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

效果图7


字符串

#!/bin/sh
mtext="hello"  #定义字符串
mtext2="world"
mtext3=$mtext" "$mtext2  #字符串的拼接
echo $mtext3  #输出字符串
echo ${#mtext3}  #输出字符串长度
echo ${mtext3:1:4}  #截取字符串

澳门金沙国际 31

效果图6


字符串

#!/bin/sh
mtext="hello"  #定义字符串
mtext2="world"
mtext3=$mtext" "$mtext2  #字符串的拼接
echo $mtext3  #输出字符串
echo ${#mtext3}  #输出字符串长度
echo ${mtext3:1:4}  #截取字符串

澳门金沙国际 32

效果图6


字符串

#!/bin/sh
mtext="hello"  #定义字符串
mtext2="world"
mtext3=$mtext" "$mtext2  #字符串的拼接
echo $mtext3  #输出字符串
echo ${#mtext3}  #输出字符串长度
echo ${mtext3:1:4}  #截取字符串

澳门金沙国际 33
效果图6


输出程序

数组

#!/bin/sh
array=(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

澳门金沙国际 34

效果图7


数组

#!/bin/sh
array=(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

澳门金沙国际 35

效果图7


数组

#!/bin/sh
array=(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

澳门金沙国际 36
效果图7


echo

#!/bin/sh
echo "hello world"  
echo hello world  

text="hello world"
echo $text

echo -e "hello \nworld"  #输出并且换行

echo "hello world" > a.txt  #重定向到文件

echo `date`  #输出当前系统时间

效果图8

出口程序

出口程序

输出程序

printf

同c语言,就只是多介绍了


echo

#!/bin/sh
echo "hello world"  
echo hello world  

text="hello world"
echo $text

echo -e "hello \nworld"  #输出并且换行

echo "hello world" > a.txt  #重定向到文件

echo `date`  #输出当前系统时间

澳门金沙国际 37

效果图8

echo

#!/bin/sh
echo "hello world"  
echo hello world  

text="hello world"
echo $text

echo -e "hello \nworld"  #输出并且换行

echo "hello world" > a.txt  #重定向到文件

echo `date`  #输出当前系统时间

澳门金沙国际 38

效果图8

echo

#!/bin/sh
echo "hello world"  
echo hello world  

text="hello world"
echo $text

echo -e "hello \nworld"  #输出并且换行

echo "hello world" > a.txt  #重定向到文件

echo `date`  #输出当前系统时间

澳门金沙国际 39
效果图8

看清语句

  • if
  • if-else
  • if-elseIf
  • case

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "true"
fi


if [ $a == $b ]
then
   echo "true"
else
   echo "false"
fi


if [ $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

效果图9


printf

同c语言,就但是多介绍了


printf

同c语言,就但是多介绍了


printf

同c语言,就只是多介绍了


test命令

test $[num1] -eq $[num2]  #判断两个变量是否相等
test num1=num2  #判断两个数字是否相等
参数 含义
-e file 文件存在则返回真
-r file 文件存在并且可读则返回真
-w file 文件存在并且可写则返回真
-x file 文件存在并且可执行则返回真
-s file 文件存在并且内容不为空则返回真
-d file 文件目录存在则返回真

看清语句

  • if
  • if-else
  • if-elseIf
  • case

    #!/bin/sh
    a=10
    b=20
    if [ $a == $b ]
    then
    echo “true”
    fi

if [ $a == $b ]
then
   echo "true"
else
   echo "false"
fi


if [ $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

澳门金沙国际 40

效果图9


判定语句

  • if
  • if-else
  • if-elseIf
  • case

    #!/bin/sh
    a=10
    b=20
    if [ $a == $b ]
    then
    echo “true”
    fi

if [ $a == $b ]
then
   echo "true"
else
   echo "false"
fi


if [ $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

澳门金沙国际 41

效果图9


认清语句

  • if
  • if-else
  • if-elseIf
  • case

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "true"
fi


if [ $a == $b ]
then
   echo "true"
else
   echo "false"
fi


if [ $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

效果图9


for循环

#!/bin/sh

for i in {1..5}
do
    echo $i
done


for i in 5 6 7 8 9
do
    echo $i
done


for FILE in $HOME/.bash*
do
   echo $FILE
done

效果10


test命令

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

澳门金沙国际 42

 

for循环


#!/bin/sh

for i in {1..5}
do
    echo $i
done


for i in 5 6 7 8 9
do
    echo $i
done


for FILE in $HOME/.bash*
do
   echo $FILE
done

效果10


test命令

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

澳门金沙国际 43

 

for循环


#!/bin/sh

for i in {1..5}
do
    echo $i
done


for i in 5 6 7 8 9
do
    echo $i
done


for FILE in $HOME/.bash*
do
   echo $FILE
done

效果10


test命令

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

澳门金沙国际 44

 

for循环


#!/bin/sh

for i in {1..5}
do
    echo $i
done


for i in 5 6 7 8 9
do
    echo $i
done


for FILE in $HOME/.bash*
do
   echo $FILE
done

效果10


while循环

#!/bin/sh
COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER=`expr $COUNTER + 1`
    echo $COUNTER
done

echo '请输入。。。'
echo 'ctrl + d 即可停止该程序'
while read FILM
do
    echo "Yeah! great film the $FILM"
done

上述是while循环的二种用法,第3种是相比平常的,执行循环,然后每一趟都把控制的数加一,就可以让while循环有退出的尺度了。
其次种是用户从键盘数据,然后把用户输入的文字输出出来。


while循环

#!/bin/sh
COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER=`expr $COUNTER + 1`
    echo $COUNTER
done

echo '请输入。。。'
echo 'ctrl + d 即可停止该程序'
while read FILM
do
    echo "Yeah! great film the $FILM"
done

如上是while循环的两种用法,第二种是相比正规的,执行循环,然后每一回都把控制的数加一,就能够让while循环有剥离的规格了。

其次种是用户从键盘数据,然后把用户输入的文字输出出来。


while循环

#!/bin/sh
COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER=`expr $COUNTER + 1`
    echo $COUNTER
done

echo '请输入。。。'
echo 'ctrl + d 即可停止该程序'
while read FILM
do
    echo "Yeah! great film the $FILM"
done

上述是while循环的三种用法,第一种是相比平常的,执行循环,然后每便都把控制的数加1,就能够让while循环有剥离的尺度了。

其次种是用户从键盘数据,然后把用户输入的文字输出出来。


while循环

#!/bin/sh
COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER=`expr $COUNTER + 1`
    echo $COUNTER
done

echo '请输入。。。'
echo 'ctrl + d 即可停止该程序'
while read FILM
do
    echo "Yeah! great film the $FILM"
done

以上是while循环的二种用法,第三种是相比健康的,执行循环,然后每一次都把控制的数加一,就能够让while循环有剥离的规范了。

其次种是用户从键盘数据,然后把用户输入的文字输出出来。


跳出循环

break  #跳出所有循环
break n  #跳出第n层f循环
continue  #跳出当前循环

跳出循环

break  #跳出所有循环
break n  #跳出第n层f循环
continue  #跳出当前循环

 

跳出循环

break  #跳出所有循环
break n  #跳出第n层f循环
continue  #跳出当前循环

 

跳出循环

break  #跳出所有循环
break n  #跳出第n层f循环
continue  #跳出当前循环

 

函数

#!/bin/sh

sysout(){
    echo "hello world"
}

sysout

概念七个尚未重临值的函数,然后调用该函数

#!/bin/sh

test(){

    aNum=3
    anotherNum=5
    return $(($aNum+$anotherNum))
}
test
result=$?
echo $result

概念1个有再次回到值的函数,调用该函数,输出结果

效果图11

#!/bin/sh

test(){
    echo $1  #接收第一个参数
    echo $2  #接收第二个参数
    echo $3  #接收第三个参数
    echo $#  #接收到参数的个数
    echo $*  #接收到的所有参数
}

test aa bb cc

概念了叁个亟需传递参数的函数

效果图12


函数

#!/bin/sh

sysout(){
    echo "hello world"
}

sysout

概念二个尚未重返值的函数,然后调用该函数

#!/bin/sh

test(){

    aNum=3
    anotherNum=5
    return $(($aNum+$anotherNum))
}
test
result=$?
echo $result

概念二个有重临值的函数,调用该函数,输出结果

澳门金沙国际 45

效果图11

#!/bin/sh

test(){
    echo $1  #接收第一个参数
    echo $2  #接收第二个参数
    echo $3  #接收第三个参数
    echo $#  #接收到参数的个数
    echo $*  #接收到的所有参数
}

test aa bb cc

概念了3个亟待传递参数的函数

澳门金沙国际 46

效果图12


函数

#!/bin/sh

sysout(){
    echo "hello world"
}

sysout

概念2个从未有过重临值的函数,然后调用该函数

#!/bin/sh

test(){

    aNum=3
    anotherNum=5
    return $(($aNum+$anotherNum))
}
test
result=$?
echo $result

概念多少个有再次来到值的函数,调用该函数,输出结果

澳门金沙国际 47

效果图11

#!/bin/sh

test(){
    echo $1  #接收第一个参数
    echo $2  #接收第二个参数
    echo $3  #接收第三个参数
    echo $#  #接收到参数的个数
    echo $*  #接收到的所有参数
}

test aa bb cc

概念了二个索要传递参数的函数

澳门金沙国际 48

效果图12


函数

#!/bin/sh

sysout(){
    echo "hello world"
}

sysout

概念3个从未重返值的函数,然后调用该函数

#!/bin/sh

test(){

    aNum=3
    anotherNum=5
    return $(($aNum+$anotherNum))
}
test
result=$?
echo $result

概念2个有再次来到值的函数,调用该函数,输出结果

澳门金沙国际 49
效果图11

#!/bin/sh

test(){
    echo $1  #接收第一个参数
    echo $2  #接收第二个参数
    echo $3  #接收第三个参数
    echo $#  #接收到参数的个数
    echo $*  #接收到的所有参数
}

test aa bb cc

概念了三个急需传递参数的函数

澳门金沙国际 50
效果图12


重定向

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

重定向

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

 


重定向

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

 


重定向

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

 


写3个自行输入指令的本子

写2个机动输入指令的脚本

写3个活动输入指令的剧本

写一个自动输入指令的脚本

电动提交github仓库的剧本

#!/bin/bash
echo "-------Begin-------"
git add .
git commit -m $1
echo $1
git push origin master
echo "--------End--------"

效果图13


如上就是自个儿对shell知识的下结论,欢迎我们点心,评论,一起商讨~~

电动提交github仓库的脚本

#!/bin/bash
echo "-------Begin-------"
git add .
git commit -m $1
echo $1
git push origin master
echo "--------End--------"

 

澳门金沙国际 51

效果图13


如上就是自家对shell知识的下结论,欢迎大家点心,评论,一起谈论~~

 脚本程序

机关提交github仓库的脚本

#!/bin/bash
echo "-------Begin-------"
git add .
git commit -m $1
echo $1
git push origin master
echo "--------End--------"

 

澳门金沙国际 52

效果图13


以上正是本人对shell知识的下结论,欢迎大家点心,评论,一起座谈~~

 脚本程序

活动提交github仓库的台本

#!/bin/bash
echo "-------Begin-------"
git add .
git commit -m $1
echo $1
git push origin master
echo "--------End--------"

 

澳门金沙国际 53
效果图13


如上便是小编对shell知识的计算,欢迎大家点心,评论,一起座谈~~

 脚本程序

Shell脚本,正是使用Shell的下令解释的功用,对一个纯文本的文本进行解析,然后实施那些功效,也得以说Shell脚本就…

相关文章