一篇小说学懂Shell脚本

By admin in 美高梅手机版4858 on 2019年3月31日

Shell脚本,正是采纳Shell的命令解释的效果,对七个纯文本的文书举行辨析,然后实施这几个职能,也足以说Shell脚本正是一多重命令的汇聚。
Shell能够直接选取在win/Unix/Linux下边,并且能够调用多量连串里面包车型客车成效来分解实施顺序,要是熟谙通晓Shell脚本,能够让大家操作电脑变得愈加悠然自得,也会省去不可胜道日子。

Shell脚本,正是运用Shell的通令解释的服从,对1个纯文本的文书进行辨析,然后实施这么些成效,也能够说Shell脚本正是一比比皆是命令的聚众。
Shell可以一直动用在win/Unix/Linux下边,并且能够调用大批量系统里头的效能来分解实施顺序,假诺纯熟驾驭Shell脚本,能够让我们操作电脑变得越发安闲自在,也会省去不可胜举时间。

一篇文章学懂Shell脚本,

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

Shell脚本,正是使用Shell的一声令下解释的效果,对三个纯文本的文本进行剖析,然后实施这个意义,也足以说Shell脚本正是一多样命令的汇集。
Shell能够直接行使在win/Unix/Linux上边,并且可以调用大量种类里面包车型地铁成效来分解施行顺序,假诺熟谙明白Shell脚本,能够让我们操作电脑变得愈加自在,也会省去触目皆是时辰。

Shell应用场景

Shell应用场景

Shell应用场景

Shell应用场景

Shell能做怎么样

  • 将一些错综复杂的下令简单化(平常大家提交叁回github代码大概需求广大手续,可是足以用Shell简化成一步)
  • 能够写一些本子自动完成一个工程中机动转换最新的sdk(库)
  • 自行打包、编写翻译、发表等成效
  • 理清磁盘中空文件夹
  • 总而言之一切有规律的活脚本都得以尝试一下

Shell能做怎么着

  • 将一些错综复杂的一声令下简单化(平常大家提交3回github代码恐怕要求多多手续,可是足以用Shell简化成一步)
  • 能够写一些剧本自动达成二个工程中机动转换最新的sdk(库)
  • 自动打包、编写翻译、发表等功能
  • 清理磁盘中空文件夹
  • 简单的讲一切有规律的活脚本都足以品味一下

Shell能做什么样

  • 将有个别繁杂的授命简单化(平日我们提交一回github代码或然须求多多手续,可是足以用Shell简化成一步)
  • 能够写一些本子自动达成一个工程中自动转换最新的sdk(库)
  • 自动打包、编写翻译、发表等成效
  • 清理磁盘中空文件夹
  • 总的说来一切有规律的活脚本都足以品尝一下

Shell能做什么

  • 将部分扑朔迷离的命令简单化(平时大家付出贰遍github代码大概须求多多手续,不过能够用Shell简化成一步)
  • 能够写一些本子自动实现1个工程中活动转换最新的sdk(库)
  • 自动打包、编写翻译、发布等功效
  • 理清磁盘中空文件夹
  • 综上说述一切有规律的活脚本都可以尝试一下

Shell无法做怎么着

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

Shell无法做怎样

  • 亟待精密的运算的时候
  • 须要语言效能很高的时候
  • 急需有的互连网操作的时候
  • 总之Shell就是能够快捷支付叁个本子简化开发流程,并不得以用来替代高级语言

Shell不能够做如何

  • 必要精密的运算的时候
  • 急需语言功能很高的时候
  • 内需有的互连网操作的时候
  • 由此可知Shell正是可以火速支付贰个本子简化开发流程,并不得以用来取代高级语言

Shell不能够做怎么着

  • 急需精密的运算的时候
  • 内需语言功能很高的时候
  • 亟需有的网络操作的时候
  • 由此可知Shell便是能够十分的快支付三个本子简化开发流程,并不得以用来代表高级语言

Shell的行事规律

Shell能够被称作是脚本语言,因为它本人是不须求编写翻译的,而是通过解释器解释之后再编写翻译执行,和价值观语言相比较多了诠释的长河所以效能会略差于古板的直白编写翻译的言语。


Shell的工作规律

Shell能够被称作是脚本语言,因为它自个儿是不供给编写翻译的,而是通过解释器解释之后再编写翻译执行,和历史观语言比较多通晓释的长河所以效用会略差于古板的一贯编写翻译的言语。


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  #执行脚本

美高梅手机版4858 1

效果图1

那般我们便写出来了第一个最简易的剧本,上面大家得以品味着写一些错落有致的脚本。


运行该脚本:

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

美高梅手机版4858 2

效果图1

那样大家便写出来了第一个最简单易行的本子,下边大家能够品尝着写一些复杂的台本。


运维该脚本:

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

美高梅手机版4858 3

效果图1

这么我们便写出来了第捌个最简便易行的脚本,上面大家得以尝尝着写一些错综复杂的本子。


运作该脚本:

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

效果图1

这么我们便写出来了第三个最简便的台本,上面大家得以品味着写一些扑朔迷离的脚本。


Shell中的变量

myText="hello world"
muNum=100

那里面供给专注的便是,“=”前后不可能有空格,命名规则就和其余语言一样了。

Shell中的变量

myText="hello world"
muNum=100

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

Shell中的变量

myText="hello world"
muNum=100

那在那之中要求注意的正是,“=”前后无法有空格,命名规则就和任何语言同样了。

Shell中的变量

myText="hello world"
muNum=100

这么些中要求专注的正是,“=”前后不能够有空格,命名规则就和别的语言同样了。

做客变量

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

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

美高梅手机版4858 4一篇小说学懂Shell脚本。

效果图2

做客变量

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

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

美高梅手机版4858 5

效果图2

做客变量

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

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

美高梅手机版4858 6
效果图2

走访变量

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

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

效果图2

Shell中的四则运算

Shell中的四则运算

Shell中的四则运算

Shell中的四则运算

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

美高梅手机版4858 7

美高梅手机版4858 8

美高梅手机版4858 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"

那中间需求注意的就是,定义变量的时候“=”前后是无法有空格的,但是进展四则运算的时候运算符号前后一定要有空格,乘法的时候要求展开转义。

美高梅手机版4858 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"

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

美高梅手机版4858 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"

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

美高梅手机版4858 12
效果图3.png


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

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

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

美高梅手机版4858 13

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

美高梅手机版4858 14

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

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 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


美高梅手机版4858 19

美高梅手机版4858 20

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 24
效果图5


字符串

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

效果图6


字符串运算符

美高梅手机版4858 25


美高梅手机版4858 26


字符串运算符

美高梅手机版4858 27


美高梅手机版4858 28


字符串运算符

美高梅手机版4858 29


美高梅手机版4858 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}  #截取字符串

美高梅手机版4858 31

效果图6


字符串

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

美高梅手机版4858 32

效果图6


字符串

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

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 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`  #输出当前系统时间

美高梅手机版4858 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`  #输出当前系统时间

美高梅手机版4858 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`  #输出当前系统时间

美高梅手机版4858 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

美高梅手机版4858 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

美高梅手机版4858 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  #判断两个数字是否相等

美高梅手机版4858 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  #判断两个数字是否相等

美高梅手机版4858 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  #判断两个数字是否相等

美高梅手机版4858 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种是比较正规的,执行循环,然后每便都把控制的数加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循环的三种用法,第③种是相比较平常的,执行循环,然后每便都把控制的数加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循环的二种用法,第2种是相比较健康的,执行循环,然后每一趟都把控制的数加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循环的两种用法,第壹种是相比较正规的,执行循环,然后每一遍都把控制的数加1,就足以让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

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

效果图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

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

美高梅手机版4858 45

效果图11

#!/bin/sh

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

test aa bb cc

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

美高梅手机版4858 46

效果图12


函数

#!/bin/sh

sysout(){
    echo "hello world"
}

sysout

概念三个平昔不再次来到值的函数,然后调用该函数

#!/bin/sh

test(){

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

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

美高梅手机版4858 47

效果图11

#!/bin/sh

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

test aa bb cc

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

美高梅手机版4858 48

效果图12


函数

#!/bin/sh

sysout(){
    echo "hello world"
}

sysout

概念1个平素不重返值的函数,然后调用该函数

#!/bin/sh

test(){

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

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

美高梅手机版4858 49
效果图11

#!/bin/sh

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

test aa bb cc

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

美高梅手机版4858 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  #获取输入流

 


写三个活动输入指令的台本

写二个自动输入指令的本子

写1个机关输入指令的台本

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

机动提交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--------"

 

美高梅手机版4858 51

效果图13


以上就是自身对shell知识的计算,欢迎我们点心,评论,一起谈谈~~

 脚本程序

电动提交github仓库的本子

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

 

美高梅手机版4858 52

效果图13


上述正是自小编对shell知识的下结论,欢迎大家点心,评论,一起谈论~~

美高梅手机版4858, 脚本程序

机关提交github仓库的脚本

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

 

美高梅手机版4858 53
效果图13


以上就是自个儿对shell知识的计算,欢迎大家点心,评论,一起座谈~~

 脚本程序

Shell脚本,就是选取Shell的吩咐解释的成效,对一个纯文本的公文进行分析,然后实施那一个职能,也足以说Shell脚本就…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有