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

shell脚本入门

实习的时候第一个月的考核就是如何部署一个云资源,当时走的捷径(杠杠的搜索能力hhhh)找到了一个shell脚本一键部署,后来被leader问起来就如实说了,leader问有没有看懂shell脚本中的逻辑……(没有,完全没打开看就无脑启用了)回头来看,每一次偷的懒都要在后续补回来,所以下面简单跟着教程入个门

文章目录

  • 1、第一步:拥有自己的Linux环境
  • 2、撰写自己的第一个helloworld脚本
  • 3、shell脚本中的变量
  • 4、传递参数
  • 5、算数
  • 6、文件命令
  • 7、函数
  • 参考教程

1、第一步:拥有自己的Linux环境

我自己用的是win11上配置的WSL,具体配置效果如下
也可以体验一下在线编写的脚本,传送门

2、撰写自己的第一个helloworld脚本

  • vim命令同时完成创建.sh脚本和打开脚本进行写入的功能
  • cat可以查看自己写的.sh文件内容
  • chmod是给予.sh文件执行的权限
  • [xxxx].sh执行相应的.sh文件
    在这里插入图片描述

3、shell脚本中的变量

注意=前后没有空格,第一行==#!/bin/bash ==不能写错
在这里插入图片描述
在这里插入图片描述
获取字符串长度

截取字符串
在这里插入图片描述

4、传递参数

默认$0是执行的脚本的文件名,其他参数传递按照$1$2$3以此类推
在这里插入图片描述
下面看$*$@的区别,前者将所有参数视作一个整合起来的字符串,后者按照空格拆分成多个参数,比如新建bash文件内容如下:

#!/bin/bash
echo “—$—演示"
for i in "$
”;do
echo $i
done
echo “—$@—演示”
for i in “$@”;do
echo $i
done

运行结果截图如下:
在这里插入图片描述

5、算数

执行以下命令的时候,需要注意[]内的空格(不然语法上会报错)以及算数符号和变量之间的空格

a=10
b=20val=`expr $a + $b`
echo "a + b = $val"val=`expr $a \* $b`
echo "a * b = $val"val=`expr $a / $b`
echo "a / b = $val"val=`expr $b % $a`
echo "a % b = $val"if [ $a == $b]
thenecho "a等于b"
fi
if [$a != $b]
thenecho "a不等于b"
fi

6、文件命令

在这里插入图片描述
一个小测试
在这里插入图片描述

7、函数

在这里插入图片描述

参考教程

  1. 菜鸟教程
http://www.lryc.cn/news/21502.html

相关文章:

  • 【经典蓝牙】 蓝牙HFP层协议分析
  • 互联网摸鱼日报(2023-02-26)
  • 关于程序员中年危机的一个真实案例
  • 【fly-iot飞凡物联】(2):如何从0打造自己的物联网平台,使用开源的技术栈搭建一个高性能的物联网平台,目前在设计阶段。
  • Hadoop MapReduce
  • 时间复杂度和空间复杂度详解
  • 【C++】面向对象---封装
  • Docker简介
  • 量化学习(一)数据获取
  • java并发编程讨论:锁的选择
  • 大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——ReduceTask工作机制
  • Nginx的介绍、安装与常用命令
  • less基础
  • 电子统计台账:海量数据中导入特定行,极力减少键盘编辑工作量
  • ChatGPT是如何训练得到的?通俗讲解
  • 刷题28-有效的变位词
  • JavaWeb中异步交互的关键——Ajax
  • python爬虫常见错误
  • AI_Papers周刊:第三期
  • 在win7上用VS2008编译skysip工程
  • python 数据结构习题
  • 18、MySQL8其它新特性
  • 【Android笔记79】Android之接口请求库Retrofit的介绍及使用
  • 蓝桥杯 考勤打卡
  • 逻辑回归
  • CTFer成长之路之Python中的安全问题
  • SpringBoot知识快速复习
  • SpringBoot+React博客论坛系统 附带详细运行指导视频
  • C++ primer 之 extern
  • Linux 练习二 (VIM编辑器 + GCC编译器 + GDB调试)