SHELL基础知识

该博客主要介绍了Shell中的特殊环境变量、比较符、变量扩展意义等内容。详细阐述了用于计算的命令,包括整数运算和小数运算的多种实现方式,还说明了表达式的语法格式以及数字比较的方法和运算符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特殊环境变量

环境变量含义重要程度
$0获取当前脚本的名字 如果你的脚本是全路径执行,则名字也带全路径 basename*****
$n脚本传递的参数 $0被脚本名称占用 $1开始… $9以后需要加{}*****
$#获取传参的总个数 [ $# -ne 2 ] && echo “请输入两个参数” && exit*****
$?获取上一条命令的执行结果 0为成功 非0失败*****
$$获取脚本的PID***
$!获取上一个在后台运行脚本的PID***
$*获取传参的总个数 如果不加“” 则和$@相同 在循环体如果加了“” 则把参数视为一个整体 “name age test”**
$@获取传参的总个数 如果不加“” 则和$*相同 在循环体如果加了“” 则把参数视为单独的参数**
$_获取最后一个东东 相当于ESC.

比较符

符号含义
-eq等于
-ne不等于
-gt大于
-ge大于等于
-lt小于
-le小于等于

变量扩展的意义

符号含义
${#oldboy}显示这个变量的长度
${url#*.}删除这个变量开头到第一个.的内容 包括.
${url##*.}删除这个变量开头到最后一个.的内容 包括. (贪婪匹配)
${url%.*}删除这个变量最后一个点到结尾的内容 包括.
${url%%.*}删除这个变量第一个点到结尾的内容 包括. (贪婪匹配)

用于计算的命令

整数运算

echo “$((3+3))” echo “$[ 3+3 ]”
expr 3 + 3
expr $((3+3))
expr $[ 3+3 ]
let a=3+3 && echo $a

小数运算

awk ‘BEGIN{print 3+3}’
echo “3+3” |bc
python

表达式

符号含义
-f是否存在此文件
-d是否存在此目录
-e是否存
-x是否有执行权限
-r是否可读
-w是否可写

语法格式
eg:

[root@alice ~]# [ -f /etc/passwd ] && echo "有此文件" || echo "没有此文件"
有此文件

[root@alice ~]# test -f /etc/passwd  && echo "有此文件" || echo "没有此文件"   
有此文件

数字的比较

[ 数字1 运算符 数字2 ]
-eq -lt -gt -le -ge -ne
(()) [[ ]] = > >= <=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值