news 2026/7/31 7:26:18

一百天入职AI开发岗_进阶Linux_[10]

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一百天入职AI开发岗_进阶Linux_[10]

#Day.10承接day8

一、运算符

1.1算术运算符

在这里,Shell并不直接支持进行算术运算。比较推荐的方式是$(()),常用且高效。

#!/bin/bash # 基本算术运算 a=10 b=3 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 # 自增自减 c=5 echo "自增: $((c++))" # 5 (后置) echo "现在c的值: $c" # 6 echo "自减: $((--c))" # 5 (前置)


对于一些较老的版本,常见的处理方式是expr命令。我们做一些了解即可

需要注意的是,1、式子两端用反引号(按键位于esc的下方)括起;

2、算术符号两端(不同于赋值语句)必须空一格;

3、*号需要用\转义

1.2关系运算符

一般在[ ]里使用这种运算符,因为在Shell中[ ]等价于test命令。此外还有更高级的形式[[ ]]允许使用正则表达式等更强大的功能,不过这里不做扩展,有兴趣的朋友可以自行查阅。

1.3逻辑运算符/布尔运算符


较为简单,我们快速过一下即可。

1.4字符串运算符


二、常用命令详解

2.1echo

echo "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-else

if 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./ fi


3.2for循环

for var in iteml item22... itemN do command1 command2 ... commandN done


3.3while循环

while condition do command done


shell额外提供了,ctrl+d组合键跳出循环

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/27 20:39:55

被遗忘的支点:十字槽平台,工业制造的隐形基石

十字槽平台这个被低估的工业支点,以其永恒的刚性,默默支撑着这个时代所有的柔性梦想与智能飞跃。它的价值,正在于它让我们铭记:真正的制造力量,始终深植于那些静默、坚实、且历久弥新的基础之中。 任何精制造&#xff…

作者头像 李华
网站建设 2026/7/30 13:07:59

phpredis扩展的压缩技术深度解析:从性能瓶颈到优化实践

phpredis扩展的压缩技术深度解析:从性能瓶颈到优化实践 【免费下载链接】phpredis A PHP extension for Redis 项目地址: https://gitcode.com/gh_mirrors/ph/phpredis 在当今高并发的Web应用环境中,Redis作为高性能的内存数据库已成为不可或缺的…

作者头像 李华
网站建设 2026/7/31 6:02:30

10分钟搞定FossFLOW部署:Docker多架构支持与数据持久化终极指南

10分钟搞定FossFLOW部署:Docker多架构支持与数据持久化终极指南 【免费下载链接】OpenFLOW 项目地址: https://gitcode.com/gh_mirrors/openflow1/OpenFLOW 还在为复杂的开源工具部署而头疼吗?🤔 今天我要分享一个超简单的FossFLOW部…

作者头像 李华
网站建设 2026/7/30 3:57:51

Windows PowerShell 2.0 完整安装与使用指南

Windows PowerShell 2.0 完整安装与使用指南 【免费下载链接】WindowsPowerShell2.0安装包 本仓库提供了一个用于安装 Windows PowerShell 2.0 的资源文件。Windows PowerShell 2.0 是微软推出的一款强大的命令行工具,适用于 Windows 操作系统。通过安装此版本&…

作者头像 李华
网站建设 2026/7/30 12:17:33

Unity高效3D模型导入导出终极指南:glTFast全面解析

Unity高效3D模型导入导出终极指南:glTFast全面解析 【免费下载链接】glTFast Efficient glTF 3D import / export package for Unity 项目地址: https://gitcode.com/gh_mirrors/gl/glTFast 在Unity项目开发中,高效处理3D模型是每个开发者都会面临…

作者头像 李华
网站建设 2026/7/30 6:43:19

5个理由让你爱上DesktopSharing:实时桌面共享的终极解决方案

5个理由让你爱上DesktopSharing:实时桌面共享的终极解决方案 【免费下载链接】DesktopSharing 桌面共享, 支持RTSP转发, RTSP推流, RTMP推流。 项目地址: https://gitcode.com/gh_mirrors/de/DesktopSharing 还在为远程协作的延迟和兼容性问题烦恼吗&#xf…

作者头像 李华