首页 > 系统相关 >Shell脚本入门

Shell脚本入门

时间:2023-08-30 15:00:56浏览次数:52  
标签:脚本 do Shell 入门 val expr echo done


一、Shell简介

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。
  Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。
  Shell可以被称作是脚本语言,因为它本身是不需要编译的,而是通过解释器解释之后再编译执行,和传统语言相比多了解释的过程所以效率会略差于传统的直接编译的语言。

二、Shell的应用场景

1、Shell能做什么

  • 将一些复杂的命令简单化(平时我们提交一次github代码可能需要很多步骤,但是可以用Shell简化成一步);
  • 可以写一些脚本自动实现一个工程中自动更换最新的sdk(库);
  • 自动打包、编译、发布等功能;
  • 清理磁盘中空文件夹。

2、Shell不能做什么

  • 需要精密的运算的时候;
  • 需要语言效率很高的时候;
  • 需要一些网络操作的时候。

三、Shell入门demo

#!/bin/bash
# 基本操作
string="hello world" # 等号前后不能有空格
echo `expr index "$string" lo` # 反引号
for i in "$*"; do # 传入参数
	echo $i
done
for i in "$@"; do
	echo $i
done

# 四则运算
a=3 
b=5 
val=`expr $a + $b` # 运算符前后需要空格,表达式需要加expr
echo "a + b : $val" 
val=`expr $a - $b` 
echo "a - b : $val" 
val=`expr $a \* $b` # 乘法操作需要转义字符
echo "a * b : $val" 
val=`expr $a / $b` 
echo "a / b : $val"

# 关系运算符

if [ $a == $b ] # 相等
then
	echo "a is equal to b"
else
	echo "a is not equal to b"
fi

if [ $a -lt $b ] # 小于
then
	echo "a is less than b"
else
	echo "a is not less than b"
fi

# 字符串运算符
mtext1="hello"
mtext2="world"
mtext3=$mtext1" "$mtext2 # 字符串的拼接
echo $mtext3
echo ${#mtext3} # 输出字符串长度
echo ${mtext3:1:4} # 截取字符串

# 数组操作
array=(a b c d)
val=${array[1]} # 使用$访问变量
echo $val
len=${#array[*]} # 获取数组长度
echo $len

# 输出程序
echo "hello world" > a.txt # 输出重定向到文件
echo `date` # 输出系统时间

# 循环与判断
for i in {1..5} 
do
	if [ `expr $i % 2` -eq 0 ] # 判断偶数
	then
		echo $i
	fi
done

for i in ${array[@]} 
do
	echo $i
	if [ $i = "c" ] # 字符串相等判断
	then
		break # 跳出循环
	fi
done
COUNTER=10
while [ $COUNTER -lt 50 ]
do
	COUNTER=`expr $COUNTER + 10`
	echo $COUNTER
done

# 函数

test1(){
	echo "function test1"
}
test1 

test2(){
	anum=3
	bnum=5
	return $(($anum+$bunm))
}
test2
result=$?
echo $result

参考:https://www.jianshu.com/p/71cb62f08768


标签:脚本,do,Shell,入门,val,expr,echo,done
From: https://blog.51cto.com/u_6526235/7293326

相关文章

  • Lodarunner11录制脚本时打不开IE
    解决:方法一:lr指定浏览器启用ie32位模式C:\ProgramFiles(x86)\InternetExplorer\iexplore.exeloadrunner11:支持以下IE版本MicrosoftInternetExplorer6.0SP1或SP2MicrosoftInternetExplorer7.0MicrosoftInternetExplorer8.0......
  • flask入门
    目录1Flask和pythonweb框架介绍1.1flask介绍2flask快速使用3登录,显示用户信息小案例3.1login.html3.2home.html3.3detail.html3.4py文件4配置文件方式5路由系统5.1路由本质5.2路由参数add_url_rule5.3转换器1Flask和pythonweb框架介绍#pythonweb框架,本质都一......
  • RabbitMQ快速入门--简单队列模型
             ......
  • 史上最全的Android教程安卓开发从基础入门到精通
    前言这几年老是有人在问,Android凉了没?Android开发还有没有发展前景?Android开发还值得入门吗?等等Android出现前几年的发展,前几年需求多,大量新的App项目,大小公司都缺Android开发人员,属于供不应求的状态。随着几年发展,这些年Android开发从业人员确实在增多,科班出身和培训出身的人越来......
  • RabbitMQ快速入门--介绍和安装
                     ......
  • drf入门
    drf入门规范1、Web开发模式​ 1.1、前后端混合开发模式:​ 1.2、前后端分离开发模式2、API接口#api接口:通过网络,规定了前后端信息交互规则的url链接,也就是前后端信息交互的媒介 -https://www.baidu.com/books/--->json格式数据--->接口#拿到的是json格式的数据 -https......
  • 从入门到掌握 - 系统学习shell语言
    简介什么是shellShell是一种程序或命令行解释程序,用于解释用户直接输入的用户命令或从文件中读取的用户命令,然后将它们传递给操作系统以进行操作或处理。要注意,这个过程是解释而不编译脚本,因为计算机系统会解释它们,并且无需按执行顺序编译Shell脚本。KenThompson的sh是......
  • ESP32 idf常用脚本命令及git命令
    一、Linux环境1.下载并安装相关的工具./install.sh2.添加ESP-IDF工具到PATH中../export.sh3.打开配置界面idf.pymenuconfig4.设置编译的芯片型号idf.pyset-targetesp32c35.编译工程idf.pybuild6.指定串口和波特率烧录程序并打开串口监视器idf.pyflash-b1500......
  • 数据库备份和Shell基础测试及AWK(运维)
    第一题:使用MySQL命令进行备份和恢复的步骤如下:备份test库:使用mysqldump命令备份test库,并将备份写入一个.sql文件中。命令示例:mysqldump-u用户名-p密码test>backup.sql恢复备份:使用mysql命令将备份文件中的数据恢复到test库中。命令示例:mysql-u用户名-p密码test<backu......
  • redis执行lua脚本
    目录redis执行lua脚本简介常规命令实例evalscriptloadevalshascriptexistsscriptflushscriptkilllua脚本文件执行redis执行lua脚本简介1.原子操作:redis对lua脚本执行具备原子性不需要事务维护2.复用高效:客户端发送的脚本除非通过scriptflush清除否则会一直被缓存......