本文主要是介绍运算符 流控制 test echo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
shell传递参数,
执行shell脚本的时候,向脚本中传递参数,脚本内获取参数的格式为 $n n是一个数字,代表的是
第几个参数,n是从1开始,0指的是文件的文件名,echo "执行的文件名:$0";echo "第一个参数为:$1";$#传递到脚本的参数个数, $*显示全部的传入参数。三个参数1 2 3 则“*”表示"123" ”@”表示“1” ”2“ ”3”
数组: 可以存放多个值的数据类型 shell不支持多维数组
定义数组array_name=(1 2 3 4)array_name[0]=value1读取数组${array_name[index]}读取数组中的所有元素${array_name[*]} ${array_name[@]}获取数组的长度${#array_name[*]} ${#array_name[@]}
shell基本运算符:
算术运算符:+ - × / % = == != *号前面使用expr必须加\ *
原生的bash不支持算术运算,一般通过命令awk expr 来实现expr 2 + 2 :表达式与运算符之间要有空格2+2不对,完成的表达式要被``包括,0
关系运算符:
-eq 检测两个数是否相等-ne 检测两个数是否不相等-gt 检测左边数是否大于右边数-lt 检测左边是否小鱼右边-ge 检测左边是否大于等于右边-le 检测左边是否小于等于右边eg: [$a -eq $b ] 参数要用变量内容
布尔运算符: !非运算 -o 或运算 -a与运算
[! false ] [ a−lt20−o b -gt 100] [$a -lt 20 -a ]
逻辑运算符: && 与 ||或
字符串运算符: = !=
-z 检测字符串长度是否为0 是则返回true-n 检测字符串长度是否为0 不是则返回truestr 检测字符串是否为空,不为空返回true
文件测试运算符
-b 检测文件是否是块设备文件-c 检测文件是否是字符设备文件-d 检测文件是否是目录、、、、、、
echo 命令
显示普通字符串 : echo “tiansongtao”
显示转移字符串 : echo “\”if is a tian\”“
显示变量 : echo ” $name “
显示换行 : echo -e ” OK! \n” -e 开启转义
显示不换行 : echo -e ” OK \c”
显示结果定向至文件 echo “tiansongtao “>>myfile
原样输出字符串,不转义取变量 echo $tian\"
—–$tian\”
显示命令执行结果: echo date
—-显示当前时间
printf 模仿C的输出 可以控制多种输出
eg printf format-string [arguments、、、]format-string 为格式控制字符串arguments 为参数列表print "%-10s %-8s %-4s\n" 姓名 性别 体重kgprint "%-10s %-8s %-4.2f\n" 郭靖 男 66.2结果为: 姓名 性别 体重kg郭靖 男 66.2%s %c % d %f 都是格式替代符 %-10s:指一个宽度为10的字符,(-表示左对其,没有是右对其,) %-4.2f 表示格式为小数,.2表示两位小数printf转义字符:\a 警告 \b后退 \c抑制不显示输出结果中的换行字符\n 换行 \f换页 \v垂直制表,
test命令: 检查某个条件是否成立,他可以进行数值、字符、文件三方面的测试
-eq 等于则为真-ne 不等于则为真-gt 大于则为真 -ge 大于等于则为真-lt 小于则为真 -le 小鱼等于则为真eg: num1=100 num2 = 100if test $[num1] -eq $[num2]thenecho "两数相等"
shell流程控制
在shell中,如果else没有要执行的语句就不要这个elseif elseif conditionthencommand1command2elsecommandfi末尾要用fi就是if 倒过来的拼写
if-else -if -elseif condition1thencommand1elif condition2thencommandelsecommandNfi
for循环
for var in item1 item2、、、docommand1doneeg: for loop in 1 2 3 4 5doecho "the value is $loop"done
while语句
while condition
do
command1
done
eg: int-1
while(( int<=5))doecho int
done
case 语句为多选择语句,工作方式,取值后必有单词in,每一个模式以)括号结束,一个模式一致执行到;;case 值 in模式1)command1;; 两个;;号就相当于break模式2)command2;;esac 这个为全部结束标志eg: echo `你输入的数字为:`read aNumcase $aNum in1) echo `你选择了1`;;2) echo `你选择了2`;;esac
跳出循环 break
允许跳出所有循环,(终止执行后面的所有循环)
continue 跳出本次循环,接着执行别的循环
这篇关于运算符 流控制 test echo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!