代码改变世界

shell脚本学习记录

  HQS_blog  阅读(8)  评论(0编辑  收藏  举报

参考文章:https://blog.csdn.net/weixin_43288201/article/details/105643692

 

1.脚本必须有可执行权限

chmod +x test.sh   //给test.sh文件的所有组增加可执行权限,也可以根据数字增加 可读4、可写2、可执行1 如:chmod 755 test.sh

 2.脚本的调用形式 以及编写规范

    2.1脚本需要以  #!/bin/bash 开头,用来声明脚本用什么shell解释器解析,不写则是默认shell解析 默认解析路径为/bin/bash

    2.2脚本调用形式

          ./test.sh     //使用脚本第一行指定的解析器解析

          bash test.sh    //使用bash解析,不存在则使用默认解析器

          . test.sh   //直接使用默认解析器解析

 3.定义变量

  3.1变量名=变量值   num=10

     引用这个变量    $num

     设置成只读变量   readonly num=10

     清除变量    unset num

  3.2从键盘读取输入的值,read data1 data2

      读取之后引用 $data1

  3.3 查看环境变量   env

  3.4导出环境变量 export,使其设置为全局变量(shell脚本和命令行均可使用该变量)

    命令为:source testenv.sh 或者   . testenv.sh

   在其他脚本中使用全局变量

   3.5shell脚本中单引号、双引号、反引号

    单引号不能解析变量,会将$num当成字符处理

    双引号可以解析变量,会将$num当成变量处理

    反引号:反引号中的内容会作为系统命令识别并执行

 

  3.6 shell中无需自定义的变量,如图

   3.7变量是否存在

    ${num:-val}  如果num存在,则变量值为num.;否则为val

    ${num:=val}  如果num存在,则变量值为num.;否则为val,并将val的值赋值给num  

  3.8字符串操作

 4.条件测试

  4.1 test命令,格式为test condition 或者[ condition ]

 

4.2  shell判断是否为空

第一种方法:

if [ ! -n "$2" ] ; then
 echo "IS NULL"
fi

第二种方法:
if [ ! $2 ] ; then  
 echo "$2是空"
fi

 

 5.控制语句

 

 

   for循环语句

 

 6.函数

 

 

 

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2020-08-23 python做数据分析-基础 --更新中
2018-08-23 Java中Json对象与xml字符串互转
点击右上角即可分享
微信分享提示