当前位置: 首页 > news >正文

shell命令二

在Shell脚本中,变量本质上都是字符串类型

核心对比表

符号功能类型典型场景关键特性
```命令替换获取命令输出作为值反引号已逐渐被 $() 取代
[]条件测试文件检测、逻辑比较必须保留空格,支持 [[ ]] 扩展
{}代码块/扩展组合命令或生成序列代码块在当前 Shell 执行,每个shell命令都以;结束

read键盘写入

作用:从键盘读取变量值

read -p  ""  i#-p  给出提示消息

export全局变量

作用:让变量可以在子进程中使用

export   a=1
注意:
1.命令行设置全局变量
]# export a=1
在.sh文件中同样可以使用
2.在.sh文件中设置全局变量
export a=1
命令行无法调用
==原因:export定义的全局变量可以在子进程中使用,但是在子进程创建的全局变量无法在父进程使用==

数值运算

使用$(())或者$[]
]# echo $[i+1]
使用let
]# let i++

条件测试

0表示“真”(成功),非零值表示“假”(失败)

echo $? 显示上一条命令的退出状态码

1)判断变量是否为空
[ 操作符 字符串 ]
-z 字符串的值为空
-n 字符串的值不为空(相当于! -z)
[root@nsd ~]# w=212
[root@nsd ~]# [ -z "$w" ]
[root@nsd ~]# echo $?
1
[root@nsd ~]# [ -z "$p" ]
[root@nsd ~]# echo $?
0
==判断是否为空的时候并不输出内容 echo $?  输出判断结果==
2)一行执行多条命令的情况
# A ; B#执行A命令后执行B命令,两者没有逻辑关系
# A && B   #仅当A命令执行成功,才执行B命令,&&并且的意思,执行失败则不往下执行
# A || B   #仅当A命令执行失败,才执行B命令,||或者的意思,A执行成功则不执行B,A执行失败,则执行B
判段变量是否为空,有输出
]# [ -z "$a" ] || echo "a变量不为空"
3)判断字符串是否相等
[ 字符串1 操作符 字符串2 ]
== 两个字符串相同
!= 两个字符串不相同
一般和与或符号一同使用
#判断两个字符串是否是相同
[ "123" == "1234" ]  &&  echo "相同" || echo "不相同"

4)整数大小比较

[ 字符串1 操作符 字符串2 ]

1)-gt 大于
2)-ge 大于或等于
3)-lt 小于
4)-le 小于或等于
5)-eq 相等

识别文件/目录的状态

[ -f "/etc/hosts" ]
1)-e 判断对象是否存在(不管是目录还是文件)
2)-d 判断对象是否为目录(存在且是目录)
3)-f 判断对象是否为文件(存在且是文件)
4)-r 判断对象是否可读
5)-w 判断对象是否可写
6)-x 判断对象是否具有x权限

使用if选择结构

相关文章:

  • 迈锐思C1pro插件安装包【附百度网盘链接】
  • 用户行为检测技术解析:从请求头到流量模式的对抗与防御
  • DataStreamAPI实践原理——快速上手
  • 【quantity】2 Unit 结构体(unit.rs)
  • S08-电机功能块讨论
  • 全新升级:BRAV-7601-T003高性能无风扇AI边缘计算系统,助力智能未来!
  • 智能指针之设计模式5
  • Xray-安全评估工具
  • 19.TVS特性与使用注意事项
  • 学习spark-streaming收获
  • 7.14 GitHub命令行工具测试实战:从参数解析到异常处理的全链路测试方案
  • 深入Java JVM常见问题及解决方案
  • web基础+HTTP+HTML+apache
  • 回顾|Apache Cloudberry™ (Incubating) Meetup·2025 杭州站
  • 蓝桥杯Java全攻略:从零到一掌握竞赛与企业开发实战
  • 腾讯 Kuikly 正式开源,了解一下这个基于 Kotlin 的全平台框架
  • 基于esp32实现键值对存储读写c程序例程
  • MongoDB 操作全解析:从部署到安全控制的详细指南(含 emoji 趣味总结)
  • 测试基础笔记第十四天
  • 从回溯到记忆化搜索再到递推
  • 伊朗内政部长:港口爆炸由于“疏忽”和未遵守安全规定造成
  • 宁波银行一季度净利74.17亿元增5.76%,不良率持平
  • 国家发改委:我国能源进口来源多元,企业减少甚至停止自美能源进口对国内能源供应没有影响
  • 美施压拉美国家选边站队,外交部:搞阵营对抗注定失败
  • 财政部部长:中方主张通过平等对话协商解决贸易和关税争议
  • 解放日报头版:外资汽车产业链布局上海步伐明显加快