运算符 流控制 test echo
来源:互联网 发布:战舰世界兴登堡数据 编辑:程序博客网 时间:2024/06/06 08:30
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 ] [
逻辑运算符: && 与 ||或
字符串运算符: = !=
-z 检测字符串长度是否为0 是则返回true -n 检测字符串长度是否为0 不是则返回true str 检测字符串是否为空,不为空返回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" 姓名 性别 体重kg print "%-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 = 100 if test $[num1] -eq $[num2] then echo "两数相等"
shell流程控制
在shell中,如果else没有要执行的语句就不要这个else if else if condition then command1 command2 else command fi末尾要用fi就是if 倒过来的拼写if-else -if -else if condition1 then command1 elif condition2 then command else commandN fi
for循环
for var in item1 item2、、、 do command1 done eg: for loop in 1 2 3 4 5 do echo "the value is $loop" done
while语句
while condition
do
command1
done
eg: int-1
while((
done
case 语句为多选择语句, 工作方式,取值后必有单词in,每一个模式以)括号结束,一个模式一致执行到;; case 值 in 模式1) command1 ;; 两个;;号就相当于break 模式2) command2 ;; esac 这个为全部结束标志eg: echo `你输入的数字为:` read aNum case $aNum in 1) echo `你选择了1` ;; 2) echo `你选择了2` ;; esac
跳出循环 break
允许跳出所有循环,(终止执行后面的所有循环)
continue 跳出本次循环,接着执行别的循环
- 运算符 流控制 test echo
- Shell:基本运算符、echo、printf、test
- echo test
- 运算符、控制流
- 赋值运算符Test
- 关系运算符Test
- 运算符Test
- shell add & test & echo
- TCP echo test
- C#运算符、控制流
- 变量运算符练习 Test
- 三目运算符test
- SHELL : echo字体控制
- echo命令控制gpio
- echo控制字符
- 第三章 运算符和控制流
- (2)运算符和控制流
- Python 入门之 运算符+控制流
- Hadoop Mapreduce分区、分组、二次排序过程详解
- Runnable与Callable 详解
- butterknife的使用
- PCA原理及其R实现
- BZOJ 4004: [JLOI2015]装备购买
- 运算符 流控制 test echo
- 在mac上安装php7.1
- 秒杀系统架构优化思路
- OpenProcess调用失败,GetLastError返回5
- wampserver访问localhost显示iis
- 优化排列组合计算---java
- leetcode 8. String to Integer (atoi)
- 函数
- mongodb上传数据 java语言版