2026/2/14 0:52:35
网站建设
项目流程
网站建设结项报告,图片类网站开发实验总结,胖子马wordpress模板 q8免费版,网站收录查询工具#Day.10承接day8一、运算符1.1算术运算符在这里#xff0c;Shell并不直接支持进行算术运算。比较推荐的方式是$(())#xff0c;常用且高效。#!/bin/bash# 基本算术运算
a10
b3echo 加法: $((a b)) # 13
echo 减法: $((a - b)) # 7
ec…#Day.10承接day8一、运算符1.1算术运算符在这里Shell并不直接支持进行算术运算。比较推荐的方式是$(())常用且高效。#!/bin/bash # 基本算术运算 a10 b3 echo 加法: $((a b)) # 13 echo 减法: $((a - b)) # 7 echo 乘法: $((a * b)) # 30 echo 除法: $((a / b)) # 3 (整数除法) echo 取余: $((a % b)) # 1 echo 幂运算: $((a ** b)) # 1000 # 复合运算 echo 复合运算: $(( (a b) * 2 )) # 26 # 自增自减 c5 echo 自增: $((c)) # 5 (后置) echo 现在c的值: $c # 6 echo 自减: $((--c)) # 5 (前置)对于一些较老的版本常见的处理方式是expr命令。我们做一些了解即可需要注意的是1、式子两端用反引号按键位于esc的下方括起2、算术符号两端不同于赋值语句必须空一格3、*号需要用\转义1.2关系运算符一般在[ ]里使用这种运算符因为在Shell中[ ]等价于test命令。此外还有更高级的形式[[ ]]允许使用正则表达式等更强大的功能不过这里不做扩展有兴趣的朋友可以自行查阅。1.3逻辑运算符/布尔运算符较为简单我们快速过一下即可。1.4字符串运算符二、常用命令详解2.1echoecho This is a string #正常显示字符串 echo \This is a string\ #转义字符\该类型转义由shell处理无需声明参数-e echo -e This is a string\n #\n转义该类型转义由echo处理需要声明参数-e echo -n This is a string #不换行输出由shell处理的参数示例echo \ # 输出: echo \\ # 输出: \ echo \$ # 输出: $ echo \ # 输出: 由echo命令处理的参数示例echo -e \n # 换行 echo -e \c # 立即终止输出实际效果为截掉了\n不换行 echo -e \t # 制表符 echo -e \b # 退格2.2printf遇到复杂场景时更建议使用printf命令避免混乱。printf format-string [argument...]实例讲解#!/bin/bash printf %-10s %-8s %-4s\n 姓名 性别 体重kg printf %-10s %-8s %-4.2f\n 郭靖 男 66.1234 printf %-10s %-8s %-4.2f\n 杨过 男 48.6543 printf %-10s %-8s %-4.2f\n 郭芙 女 47.9876%s %c %d %f 都是格式替代符s 输出一个字符串d 整型输出c 输出一个字符f 输出实数以小数形式输出。%-10s 指一个宽度为 10 个字符- 表示左对齐没有则表示右对齐任何字符都会被显示在 10 个字符宽的字符内如果不足则自动以空格填充超过也会将内容全部显示出来。%-4.2f 指格式化为小数其中 .2 指保留2位小数。2.3read类似Python的input。read [-options] [variables] ----------------------------------------- [-options] -a array 把读取的数据赋值给数组array从下标0开始。 -n num 读取num个字符而不是整行字符。 -p prompt 显示提示信息提示内容为prompt。 -t seconds 设置超时时间单位为秒。如果用户没有在指定时间内输入完成那么read将会返回一个非 0的退出状态表示读取失败变量名未写出时shell会将读取到的数据存入环境变量REPLY中。三、流程控制3.1if-elif-elseif condition1 then command1 elif condition2 then command2 else commandN fi与Python不同值得额外注意的点就是condition判断条件的写法。这里有两种方式1、按照前文的逻辑/布尔运算符格式书写if [ $a -gt $b ]; then cd./ fi#分号表示换行。当然各位也可以按照前文的格式书写看个人喜好。2、双重小括号写法if (( a b ));then cd./ fi3.2for循环for var in iteml item22... itemN do command1 command2 ... commandN done3.3while循环while condition do command doneshell额外提供了ctrld组合键跳出循环