shell脚本的参数

1. $

$0  获取当前执行脚本的文件名
$n  获取脚本的参数,n=1..9 10以后就要${10}
$#  脚本后边的总参数
$*  获取当前脚本的所有参数"$1 $2 $3"
$@  获取当前脚本的所有参数,加了双引号"$@" "$1" "$2" "$3"
$?  获取上一个命令的执行状态的返回值,成功为0 不成功非0
$$  获取当前执行shell脚本进程的pid
$!  获取上一个在后台工作的pid
$_  获取在次之前执行命令或脚本的最后一个参数

2. echo

-n 不换行进行输出
-e 解释转义字符
转义字符
\n 换行
\r 回车
\t 制表符 tab
\b 退格
\v 纵向制表符

3. shift

语句会按如下的方式重新命名所有参数的位置,$2变成$1,向左减1

#!/bin/bash
echo $1 $2
if [ $# -eq 2 ];then
  shift
  echo $1
fi


[root@yw7 server]# sh s.sh 1 2
1 2
2

这个时候其实是$2的值2向前一个了,成了$1+

4. ${}

变量子串的说明

${bj} 返回变量的$bj内容
${#bj} 按照字符返回长度
${bj:offset} 从offset位置开始切割到结尾
${bj:offset:length} 从offset位置开始切割指定的长度

5. expr

整数的计算,相关字符串的长度,匹配

expr 2 + 2
expr 2 \* 2
expr 2 / 2

注意:数字的左右必须要有空格

i=5
i=`expr $i + 4`
echo $i

实战:
判断一个变量的值或字符串的值是否为整数

i=5
i=`expr $i + 4`
echo $?
0
此时判断是一个整数

i=yq
i=`expr $i + 4`
echo $?
2
此时不是

我们就可以通过传参的方式来确定是不是整数
expr $1 + 1 &>/dev/null
[ $? -eq 0 ]
来判断

expr的特殊用法,判断文件的扩展名是否符合要求

#!/bin/bash
if expr "$1" : ".*\.pub"* &>/dev/null
then
   echo  " you are using $1"
else
   echo "you .gile" 
fi

expr计算字符的长度

expr lenfth "$char"

6. bc

当做计算器来用

yum -y insatll bc

bc
echo 3+5|bc


i=5
i=`expr $i + 6|bc`
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

长安有故里y

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值