Shell变量赋值
命名须规则:
1)使用变量无需事先声明2)首个字符必须为字母(a-z,A-Z)3)中间不能有空格,可以使用下划线(_)4)不能使用标点符号5)不能使用bash里的关键字(可用help命令查看保留关键字)6)需要给变量赋值时,可以这么写:7)变量名=值8)取一个变量的值,只需在变量名前面加一个$ ( 注意: 给变量赋值的时候,不能在"="两边留空格 )
例1:(变量赋值)
#!/bin/sh# 对变量赋值:a="hello world" #等号两边均不能有空格存在# 打印变量a的值:echo "A is:" $a挑个自己喜欢的编辑器,输入上述内容,并保存为文件first,然后执行 chmod +x first 使其可执行,最后输入./first 执行该脚本。其输出结果如下:"A is: hello world "
例2:(区别变量)
错误用法:
有时候变量名可能会和其它文字混淆,比如:num=2echo "this is the $numnd"上述脚本并不会输出"this is the 2nd"而是"this is the";这是由于shell会去搜索变量numnd的值,而实际上这个变量此时并没有值。
正确用法:
num=2echo "this is the ${num}nd"其输出结果为:"this is the 2nd"[注意: 花括号的位置?num=2echo "this is the {$num}nd"其输出结果为:this is the {2}nd]
例3:(变量值作为数字)
需要注意shell的默认赋值是字符串赋值。错误方式:
var=1var=$var+1echo $var打印出来的不是2而是1+1。
正确方式:
1)let "var+=1"2)var=$[$var+1]3)var=`expr $var +1`#注意加号两边的空格,否则还是按照字符串的方式赋值。[暂时无效]echo $var 打印出来是2注意:前两种方式在bash下有效,在sh下会出错。[注意:我的虚拟机中:/bin/sh->/bin/bash]let表示数学运算;$[]将中括号内的表达式作为数学运算先计算结果再输出;
expr用于整数值运算,每一项用空格隔开;[暂时无效]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架