重新点亮shell————语法[四]
前言
简单介绍一下语法。
正文
数组:
定义数组:
IPTS =(10.0.0.1 10.0.0.2 10.0.0.3)
显示所以数组元素:
echo ${IPTS[@]}
显示数组元素的个数
echo ${#IPTS[@]}
显示第一个元素:
echo ${IPTS[0]}
转义和引用:
特殊字符:
注释
; 分号 分割两行命令
\ 转义字符
"' 引号
转义符合:
单个字符前的转义符合:
\n\r\t 单个字母转义
$ 、"、 \ 单个非字母的转义
引用符号:
常用的引用符号:
"" 双引号
' 单引号
` 反引号
单引号和双引号在显示的时候还是不一样的。
` 反引号 可以用来执行命令。
赋值运算符:
算术运算符:
+-*/**%
使用expr 进行运算
expr 4 + 5 只能支持整数,4和+和5之间要有空格
数字常量:
let "变量名=变量值"
支持8进制和16进制
双圆括号:
((a=10))
((a++))
echo $((10+20))
if
if-then 基本用法:
if [测试条件成立] 或者 命令返回值为0
then 执行相应的命令
fi 结束
同样有了if-then,那么还可以使用if then else 这样的语句。
if-then-else 语句可以在条件不成立也运行相应的命令。
格式为:
if [测试 成立条件]
then 执行相应命令
else 测试条件不成立,执行相应命令
fi 结束
还可以使用:
if [测试 成立条件]
then 执行相应命令
else if [测试成立条件]
then 执行相应命令
else 测试条件不成立,执行相应命令
fi 结束
case
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
循环
for 说明:
for file in $(ls .gz); do gunzip -c $file > ${file%%.} ;done
同样可以使用c语言风格的,比如说:
for ((i=1; i<=10;i++)); do command;done
这样的也可以。
while 说明:
while test测试一直成立
do
command
done
另外一种就是utile,就是和while 相反,while 是一直是真的时候执行,utile一直是假的时候执行。
util test测试一直成立
do
command
done
同样循环中有continue和break,和其他语言一样就不介绍了。
结
下一节特殊字符。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构