本篇内容主要讲解“linux的shell编程方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux的shell编程方法有哪些”吧!
一、for和while循环结构:
在写这个之前,还是提示大家一下,这和我们c、c++里面的写的for、whil循环结构思想一样,只是规则稍微有点不一样仅此而已。
1、for循环结构格式和实战演示:
a、for循环书写格式:
for 变量名 in 取值列表do 命令序列done
b、案例演示:
#!/bin/bashfor i in 1 2 3 4 5do echo $idone
演示结果:
root@txp-virtual-machine:/home/txp# source test.sh12345
2、while循环结构格式和实战演示:
a、while循环书写格式:
while 条件测试操作do 命令序列done
b、案例演示:
#!/bin/bashi=1j=10while [ $i -lt $j ]do echo $i i=$(($i+1))done
演示结果:
root@txp-virtual-machine:/home/txp# source test.sh123456789
注意:while后面的[]两边都有空格,[]后面有分号分号(如果do放在一行的话),i++的写法中有两层括号。
二、case语句:
shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同。shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break)。
1、case语句的格式书写:
case 变量值 in模式1) 命令序列1 ;;模式2) 命令序列2 ;; .......*) 默认命令序列esac
2、案例演示:
#!/bin/bashvar=9;case $var in8) echo "8" ;;9) echo "9" ;;esac
演示结果:
root@txp-virtual-machine:/home/txp# source test.sh9
三、调用shell程序的传参:
不知大家看到这个,有没有想到我们c语言里面int main 函数的标准写法呢:
int main(int argc , char *argv[])
之前的c语言系列文章里面有介绍这个(c语言main函数里的参数argv和argc解析),这里就不再介绍了。没错我们的shell接收用户的传参和这个思想类似的,在我们shell里面传参规则是:
$0对应的是当前Shell脚本程序的名称$#对应的是总共有几个参数$*对应的是所有位置的参数值$?对应的是显示上一次命令的执行返回值$1、$2、$3……则分别对应着第N个位置的参数值
我们具体来写一个案例演示:
#!/bin/bashecho $0 $? $* $# $1 $2 $3
演示结果:
root@txp-virtual-machine:/home/txp# source test.sh aa bb ccbash 0 aa bb cc 3 aa bb cc
这里稍微再注意我们c语言的传参:
C语言:./a.out aa bb cc argc = 4, argv[0] = ./a.out, argv[1]是第一个有效参数····
注意到这里argc等于4,它把argv[0]也统计进去了;而我们shell当中是没有把$0统计到传入的参数统计当中去哦。
到此,相信大家对“linux的shell编程方法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4065875/blog/4416625