尧图精选

记录嵌入式linux学习第八天

🕒 发布时间:2026/10/1 7:06:28 📁 来源:尧图网络
1.test命令test主要是起到了测试作用用于查看文件是否存在权限等信息主要是数值字符文件三方面进行测试。和||命令例如#!/bin/bashecho please input file nameread -p filenamefilenametest -e $filename echo file exist || echo file no exist#!/bin/bashecho please input two strread -p frist strfriststrread -p second strsecondstrtest $friststr$secondstr echo friststrsecondstr|| echo friststr!seconder中括号和[]可以用来做判断符号注意符号内部字符串应该加入“”号要不会报错默认变量$0和$n表示shell脚本参数shell脚本本身命令为$0$#表示脚本的最后一个编号$表示$1$2等表示所有的参数例子#!/bin/bashecho file name$0echo total param name $#echo whole param $echo first param$1echo second param$2这个脚本可以运行输入a b时输出file namemy.shtotal param name2whole param a bfirst paramasecond paramb2.shell脚本条件判断函数与循环条件判断if条件判断then//判断成立要做的事情fi代码例子#!/bin/bashread -p echoplease input (y/n)valusif [ $valus Y ]||[ $valus y ]; thenecho your input is yexit 0fiif[ $valus N ]||[ $valus n ];thenecho your input is nexit 0fi这个脚本就可以进行判断注意在这个脚本中用正点原子代码会出现找不到指令的现象这个现象是因为代码不规范现在版本的应该注意加入空格在[]中两边应该有空格在“”两边也应该使用空格隔开在then 前面也应该使用空格隔开注意我写的代码这个就有空格隔开注意这一点。if else的用法if else 语句的else后面不能跟条件 可以通过修改上面的代码体现出来#!/bin/bashread -p echoplease input (y/n)valusif [ $valus Y ]||[ $valus y ]; thenecho your input is yexit 0elseecho your input is nexit 0fi使用else if命令例子如下#!/bin/bashread -p echoplease input (y/n)valusif [ $valus Y ]||[ $valus y ]; thenecho your input is yexit 0elif [ $valus N ]||[ $valus n ]; thenecho your input is nexit 0elseecho your input can not identfyfi千万要注意空格的使用在c语言中空格可能没有这么重要但是在shell脚本命令中空格属于语法的一种case语句的用法case$变量 in“第一个变量内容”)程序段;; //表示该程序段结束“第二个变量内容”)程序段;;第n个程序段内容)程序段;;esac例子case $1 ina)echo param is a;;b)echo param is b;;*)echo input can not identify;;esac注意通配符*不可以加双引号.3.shell脚本函数shell脚本函数也支持函数函数写法如下function fname(){//代码段}#!/bin/bashfunction help(){echo this help cmd!}function close(){echo this is close help}case $1 inh)help;;c)close;;esac这个就是代码段4.shell循环while 循环 例子while [ $valus close ]doread -p please input str:valusdoneecho stopfor循环 例子#!/bin/bashfor name in zzk1 zzk2 zzk3doecho your name is $name done\ #!/bin/bashread -p please input count : counttotal0for((i0; icount; ii1))dototal$(($total$i))doneecho 12...........$count$total这些就是我的今天全部的笔记今天我发现遇到的很多问题是因为空格的原因这种的空格一定要重点排查明天就国庆啦放假快乐我是不会放弃成为嵌入式高手的。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →