Shell语言基本操作一(Xshell5)

本文介绍了Shell脚本的基本概念和操作,包括如何创建和运行脚本、变量的使用规范及特点,以及位置参数变量的处理。详细讲解了字符串的长度、截取、替换和删除方法,并探讨了运算符和条件语句的用法。内容涵盖算术、比较和逻辑运算符,以及if语句的各种形式。通过对环境变量、引号和字符串拼接的讨论,为Shell脚本编写提供了全面的基础知识。
摘要由CSDN通过智能技术生成

Shell:可以一次执行多个命令

创建shell脚本:
	文件名.sh  文件名后缀为.sh的文件叫做Shell脚本
编写
	头部标识:注释为#/bin/sh 或者 #/bin/bash/ 或者不写(标识当前脚本由什么执行)
运行
	1、有linux提供的/bin/sh执行  执行格式为  sh shell脚本
	2、有linux提供的/bin/bash执行  执行格式为  sh shell脚本
	3、由shell脚本改成可执行文件  执行格式为  ./shell脚本
变量
	shell当中变量没有数据类型,必须初始化变量,否则报错
	特点
			1、数字、字母、下划线,不能以数字开头
			2、变量名区分大小写(大小写敏感)
			3、建议变量的名称要通俗易懂
			注意:变量赋值是通过等号(=)进行赋值,在变量、等号和值之间不能出现空格。显示变量值使用echo命令(类似于java中的system.out) ,加上$变量名,也可以使用${变量名}
			使用:
					1、$变量名:会把$后所有在一起的数字、字母、下划线看作变量
					2、${变量名}:以大括号作为边界,只会把大括号内作为变量
			修改:只能从新定义变量(变量名相同),然后对他的值进行修改,如果一个脚本中,有多个名称相同的边量,会把之前的值进行替换	
			 位置变量:在脚本执行过程中使用的占位符,占位符等待参数的传递
	格式:$数字
	参数:执行中所给的内容,参数和参数之间以空格进行分割
	注意:$0永远都是脚本名称(可以忽略)
		 数字个数是大于一位数的要使用{}进行括起来
		 数字可以看做下标
		 占位符接收不到参数,不会报错,只是不进行输出
		 接收参数时,可以跳着接收($1 $10)

/ect/profile中所配置的环境变量在任何地方都可以查找的到

引号
	单引号:输出语句原样执行
	双引号:可以有变量可以有转义符
	输出语句中:引号可加可不加(没有固定的格式)
	注意:单引号输出语句原样执行,不能在在单引号中输出单引号
		使用单引号最好只使用两个单引号
拼接
	在输出语句中连着获取变量
	输出语句中双引号是否使用都行

字符串
	获取长度
		格式:${#变量名}
	截取
		格式:${变量名:开始的index:截取的长度}

		注意:
			开始下标不写,表示从头开始截取几个 例如:${str::5}
			长度不写,表示从开始位置到末尾     例如:${str:1}
			都不写表示原字符串     				例如:${str}
	替换
		格式:${变量/原字符串内容/替换的内容}
			注意:只能从左向右替换一次
		格式:${变量//原字符串内容/替换的内容}
			注意:全部替换
		注意:替换之后不会再原字符串上进行修改,而会产生一个新的字符串
	删除
		从头开始
    		格式1:${变量#表达式}
    			有多个相同的匹配条件执行第一个
    		格式2:${变量##表达式}
    			有多个相同的匹配条件执行最后一个
		从尾开始
			格式1:${变量%表达式}
    			有多个相同的匹配条件执行第一个
    		格式2:${变量%%表达式}
    			有多个相同的匹配条件执行最后一个
    		注意:从未开始匹配 但是表达式还是从左向右开始写
		注意:删除之后不会再原字符串上进行修改,而会产生一个新的字符串
			不能进行字符串的跳过删除,要么从头开始匹配删除,要么从未开始匹配删除
运算符
	算术运算符
		shell中不支持简单的算术求值操作,需要通过expr算术计算工具才能实现shell中的计算
		格式1:`expr 值空格符号空格值`
			例如:`expr 2 + 2`
	    格式2:${值符号值}
	    	例如:$[10+20]
	比较运算符
		格式:$[值 比较符号 值](空格加不加无所谓)
		例如:$[1>2] 结果为0
		例如:$[1<2] 结果为1
		注意:比较结果使用0表示false 1表示true
	逻辑运算符
		&:and 与  两边都是true结果为true
		|:or 或   两边都是false结果为false
		!:not 非  表示结果反转
语句
	if
		格式1:if 判断条件
			  then
			  	执行语句
			  fi
		格式2:if 判断条件
			  then
			  	执行语句
			  else
			  	执行语句
			  fi
		格式3:if 判断条件
				then 
					执行语句
			 elif 判断条件
			 	then
			 		执行语句
			 		.
			 		.
			 		.
			 else
			 	执行语句
		注意:else可以不写
	判断条件的写法
		() (()) [[]] []
		[]:两边需要加空格,符号两边也需要加空格,使用符号时需要加上转义符,使用字母时不需要
			例如:[ 1 > 2](结果有问题 默认是对)需要加上转义符[ 1 \> 2]
			例如:[ 1 -gt 2]
		[[]]:两边需要加空格,符号两边也需要加空格,可以直接使用符号或字母
			例如:[[ 4 > 2 ]]
			例如:[[ 4 -gt 2]]
		():不用了
		(()):不需要加空格,不能识别字母
			例如:((4>2))
	使用逻辑运算符
		格式:表达式1逻辑运算符$表达式2
			例如:((${age}>=18))&((${age}<=45))
		格式:表达式1$逻辑运算符表达式2
			((${age}>=18))&&((${age}<=45))
		一个逻辑运算符和两个的区别
			例如:and同时为true 最终结果才为true
				 如果第一个条件为false,最终结果为false
				 一个and时,会判断第二个条件
				 两个and时,不会判断第二个条件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

友培

数据皆开源!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值