随笔分类 -  shell脚本

记录一些shell脚本的相关知识
摘要:#!/bin/bash echo -e "\e[1;32;41m 您是否要使用DHCP,默认使用static\e[0m" read DHCP echo "请输入您要设定的IP地址" read IP echo "请输入您要使用的DNS地址" read DNS echo "请输入您的网关" read G 阅读全文
posted @ 2020-09-08 00:14 徐野子 阅读(759) 评论(0) 推荐(0) 编辑
摘要:##准备工作 首先准备一个文本文件test.txt ##演示 #!/bin/bash x=(`cat test.txt`) for i in ${x[@]} do echo $i done 输出结果为: 阅读全文
posted @ 2020-06-05 00:30 徐野子 阅读(595) 评论(0) 推荐(1) 编辑
摘要:##定义 将两个数组或以上的元素连接到一起,变成一个新的大数组,语法为: newarray=("${array1[@]}" "${array2[@]}") 中间要用空格隔开 ##实例 #!/bin/bash program=(c c++ c# h5 java SQL python PHP perl 阅读全文
posted @ 2020-06-05 00:19 徐野子 阅读(1676) 评论(0) 推荐(0) 编辑
摘要:##基本定义 就是将一个数组的内容复制到另一个数组中。语法为: newarray=("${array[@]}") ##实例 #!/bin/bash program=(c c++ c# h5 java SQL python PHP perl go .net js MATLAB) newprogram= 阅读全文
posted @ 2020-06-05 00:06 徐野子 阅读(2198) 评论(0) 推荐(1) 编辑
摘要:##删除指定元素 使用unset来删除某个数组元素,语法为: unset array[n] 实例 #!/bin/bash program=(c c++ c# h5 java SQL python PHP perl go .net js MATLAB) echo "高级语言有:${program[@] 阅读全文
posted @ 2020-06-04 23:56 徐野子 阅读(2024) 评论(0) 推荐(0) 编辑
摘要:##下标访问 与其他语言(java,c++)一样,shell访问数组的具体元素是通过下标来指定的,格式为: array[n] array表示数组名,n为下标(n从0开始,所以访问元素n,下标为n-1) #!/bin/bash array=(1 3 4 5 6) echo "访问第四个元素 ${arr 阅读全文
posted @ 2020-06-04 23:37 徐野子 阅读(2179) 评论(0) 推荐(0) 编辑
摘要:##索引赋值 索引赋值是最基本的赋值方法,语法为: array[n]=valuen 示例: #!/bin/bash declare -a array array[3]=jack array[6]=rose echo "第四个元素的值为 ${array[3]}" echo "第七个元素的值为 ${ar 阅读全文
posted @ 2020-06-04 19:10 徐野子 阅读(12229) 评论(0) 推荐(0) 编辑
摘要:##元素值定义数组 直接指定数组中的元素值来定义一个新的数组变量 定义方法很简单: array[key]=value array为数组名;key为数组元素的索引;value代表key对应的数组元素的值 array | key | 0| 1 | 2 |3|4|5 | | | | | | | | | v 阅读全文
posted @ 2020-06-04 15:18 徐野子 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:##定义 shell函数的递归函数调用,就是把函数本身作为一个参数来调用。 函数既是调用者又是被调用者,每调用一层就进入新的一层。 例如: #!/bin/bash func () { read i #标准输入读取数据i func "$i" #调用自身 echo "$i" #输出$i } func # 阅读全文
posted @ 2020-06-04 03:02 徐野子 阅读(2145) 评论(0) 推荐(1) 编辑
摘要:##定义 shell函数库就是一个只保存shell函数,没有可执行代码的文件。 ##调用函数库 调用函数库文件非常简单只需要使用正确的路径然后再文件前加" . " (中间要加空格)载入函数,就能在脚本中使用函数库里的函数了。 例如先定义一个简单的函数文件name.sh #!/bin/bash fun 阅读全文
posted @ 2020-06-04 02:48 徐野子 阅读(647) 评论(0) 推荐(0) 编辑
摘要:##参数的调用方法 在其他语言中,函数参数分为形参和实参,其中,形参是函数定义时就指定的参数;而实参是函数被调用时才指定的参数(通常放在括号里,参数之间用逗号隔开) shell的函数参数比较特殊,实际上shell将脚本的参数和函数的参数统一处理,怎么调用脚本参数就怎么调用函数参数。 function 阅读全文
posted @ 2020-06-04 02:21 徐野子 阅读(16565) 评论(0) 推荐(1) 编辑
摘要:##函数定义 通俗的讲函数就是一团集中的代码,形成一个代码块,这个代码块可以实现某个具体的功能。本质上来讲,函数是函数名到某个代码块的映射。也就是说,用户定义函数后,就可以通过函数名来调用其对应的代码块 从形式上来看,shell函数和shell脚本并没有什么区别,都是一些命令的堆叠。 但是shell 阅读全文
posted @ 2020-06-02 22:31 徐野子 阅读(347) 评论(0) 推荐(0) 编辑
摘要:##实验要求:对test.txt内数据排序并求和 ##实验思路: 第一步,先排序输出结果 第二步,使用read读取输出的结果 第三步,利用读取的数据求和 代码如下: #!/bin/bash sort -n test.txt|while read num do echo $num sum=`expr 阅读全文
posted @ 2020-05-30 03:26 徐野子 阅读(438) 评论(0) 推荐(0) 编辑
摘要:##进制的表示 0开头的数字表示八进制,0x开头的数字表示十六进制;或使用#号,2#表示二进制。8#表示八进制,16#表示十六进制。 阅读全文
posted @ 2020-05-30 00:24 徐野子 阅读(718) 评论(0) 推荐(0) 编辑
摘要:#break跳出循环体 ##定义 break语句的作用是跳出当前循环结构,执行done后面的语句,可以用在for.while.until等循环语句的循环体中。 例如在九九乘法表中,只需输出5*5前的内容: #!/bin/bash for i in `seq 1 9`; do for j in `se 阅读全文
posted @ 2020-05-26 10:49 徐野子 阅读(965) 评论(0) 推荐(0) 编辑
摘要:#for循环嵌套 #!/bin/bash for i in `seq 1 9`; do for j in `seq 1 $i`; do let "k=$i*$j" echo -ne "$i*$j=$k\t" done echo done 输出结果 #while循环嵌套 #!/bin/bash a=1 阅读全文
posted @ 2020-05-25 23:58 徐野子 阅读(323) 评论(0) 推荐(0) 编辑
摘要:#相同点 ##一:语法类似,循环条件都在语句后面 until: until expression;do .... done while: while expression;do .... done ##二:执行机制相同,都是先判断expression的返回值,符合条件执行;不符合条件就退出 #不同点 阅读全文
posted @ 2020-05-25 23:12 徐野子 阅读(815) 评论(8) 推荐(0) 编辑
摘要:#基本语法 while expression do statements1 statements2 ...... done expression是测试表达式,do到done之间是循环体和for,until一样 while也称为前测试循环语句,重复次数是利用一个条件来控制是否继续重复执行这个语句。为了 阅读全文
posted @ 2020-05-25 22:31 徐野子 阅读(410) 评论(0) 推荐(0) 编辑
摘要:#基本语法 直达循环unitl,即错误循环 until expression do statements1 statements2 done expression就是表达式,statements是执行的语句,每次进行循环时until都会先判断expression的值,如果第一次就是0,就会直接退出循 阅读全文
posted @ 2020-05-25 20:50 徐野子 阅读(429) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示