Shell脚本基础及基本常用命令

本文详细介绍了shell解释器的使用、脚本编写规范,包括#!/bin/bash的声明、执行方式、变量声明与删除、字符串处理、参数传递、运算符与流程控制,以及函数、数组和文件加载等内容。适合shell初学者和进阶者参考。
摘要由CSDN通过智能技术生成
shell 解释器
[root@node04 shells]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
脚本编写规范
首行描述解释器: #!/bin/bash
执行shell脚本
方式①:bash 脚本名称  脚本参数
方式②:sh   脚本名称  脚本参数
方式③:./脚本名称 脚本参数【./脚本名称之间没有空格】
变量声明
变量名=”值”【中间不能有空格】
变量名要求    字母或下划线或数字(开头不能是数字)构成
删除变量 只读变量
删除 	unset 变量名
只读	readonly  变量名
字符串使用
双引号(””):内部可以使用变量
单引号(‘’):内部所有的原样输出
反引号(``):表示可执行
字符串长度及截取
长度:  echo ${#skill}
截取:	echo ${str:2:2}  【在第二个字符开始截取截取两位】
脚本参数传递

bash 脚本名 参数1 参数2 参数3 。。。。。。

参数处理说明
$#传递到脚本的参数个数
$*以一个单字符串显示所有向脚本传递的参数。 如"$*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$脚本运行的当前进程ID号
$!后台运行的最后一个进程的ID号
$@ ∗ 相 同 , 但 是 使 用 时 加 引 号 , 并 在 引 号 中 返 回 每 个 参 数 。 如 " *相同,但是使用时加引号,并在引号中返回每个参数。 如" 使"@“用「”」括起来的情况、以"$1" “ 2 " … " 2" … " 2""n” 的形式输出所有参数。
$-显示Shell使用的当前选项,与set命令功能相同。
$?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
算数运算符

加法计算 expr 2 + 2 【注意空格】
乘法计算 expr 2 \* 2 【注意空格】

流程控制if
if [ $a -gt 10 ];then
	代码1
elif [ $a -lt 10 ];then
	代码2
else
	代码3
fi
关系运算符
运算符说明英文举例
-eq检测两个数是否相等,相等返回 true。equal[ $a -eq $b ] 返回 false。
-ne检测两个数是否不相等,不相等返回 true。not equal[ $a -ne $b ] 返回 true。
-gt检测左边的数是否大于右边的,如果是,则返回 true。greater than[ $a -gt $b ] 返回 false。
-lt检测左边的数是否小于右边的,如果是,则返回 true。less than[ $a -lt $b ] 返回 true。
-ge检测左边的数是否大于等于右边的,如果是,则返回 true。Greater than or equal to[ $a -ge $b ] 返回 false。
-le检测左边的数是否小于等于右边的,如果是,则返回 true。Less than or equal to[ $a -le $b ] 返回 true。
循环

For 循环

  for  aa  in XXXX 		
  do 			
       循环体 		
  done

While循环

  while  条件 ; 	
  do 			
      循环体 		
  done
跳出循环
跳出所有循环		break
跳出当前循环,进入下一次循环	continue
  case () 		
  case  值  in  			
  结果1)
  		结果1对应的操作;; 			
  结果2)
  		结果2对应的操作;; 			
  结果3)
  		结果3对应的操作;; 		
  esac
接收控制台数据
read  变量名
函数的使用
函数声明:	 [function]  函数名(){
	函数体
	$参数1
	$参数2
	$参数3

}

函数调用
	函数名   参数1  参数2  参数3
数组
数组声明:		数组名称=(元素1 元素2 元素3 元素4)
数组的使用
	单个使用	echo  数组名[角标]  【角标从0开始】
	遍历数组
		for var in ${my_arr[*]}
		do
			echo $var
		done
文件加载

在文件中添加 . 脚本名称 或者 source 脚本名称

#!/bin/bash
source ./test1.sh  # 加载test1.sh 的文件内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值