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

shell 脚本中的 sh 和 bash 是有区别的

shell 脚本中的 sh 和 bash 是有区别的

这两天在学习 shell 脚本相关知识,才知道 shbash 是不一样的。

bashsh 的超集。bash 包含 sh

比如 bash 中能用的 [[ ]] 和 数组 array("a" "b") 等,在 sh 中都不可用。

BASH 写法

if [[ $a -gt $b ]]  # 可以写成这样
then
	echo "${a} is bigger"
fi

SH 写法

if $a -gt $b
then
	echo "${a} is bigger"
fi

sh 中没有数组的概念

BASH

array_ch=("一" "二" "三" "四")
array=("one" "two" "three" "four")
for index in ${!array[@]}; do
	echo "${array[$index]} is ${array_ch[$index]}."
done

# 结果
# one is 一
# two is 二
# three is 三
# four is 四

SH 不支持数组,就没有索引,想实现相同的功能,就需要想一下怎么写了

for name in "one" "two" "three" "four" ; do
	echo "${name}"
done

# 结果
# one two three four

相关文章:

  • Ollama Linux 部署指南
  • 国产开源PDF解析工具MinerU
  • 【鸿蒙开发】第四十章 Form Kit(卡片开发服务)
  • JavaScript系列(79)--Web Worker 高级应用
  • coco格式
  • Elasticsearch常用的查询条件
  • 记录一次 ALG 的处理过程
  • Ubuntu24.04LTS的下载安装超细图文教程(VMware虚拟机及正常安装)
  • 网络安全域管理 网络安全管理体系
  • python的多线程机制和构造
  • 代码随想录算法训练营第四十五天| 动态规划08
  • 大模型产品Deepseek(八)、数据嵌入+知识库管理+联网搜索,实现精准的知识查询
  • 为什么 MySQL 选择使用 B+ 树作为索引结构?MySQL 索引的最左前缀匹配原则是什么?MySQL 三层 B+ 树能存多少数据?
  • [OD E 100] 生成哈夫曼树
  • Java 字符串
  • 51c大模型~合集69
  • 最新版本Exoplayer扩展FFmpeg音频软解码保姆级教程
  • 简单易懂,解析Go语言中的Map
  • Unity 适用于单机游戏的红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含源码)
  • postman调用ollama的api
  • 北斗系统全面进入11个国际组织的标准体系
  • 以色列媒体:哈马斯愿意释放部分人员换取两个月停火
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:没太多包袱,很多事都能从零开始
  • 广西壮族自治区政府主席蓝天立任上被查
  • 李成钢:近期个别经济体实施所谓“对等关税”,严重违反世贸组织规则
  • 董军在第六届联合国维和部长级会议上作大会发言