码迷,mamicode.com
首页 > 系统相关 > 详细

shell 变量删除与替换

时间:2020-01-20 19:24:12      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:ima   运算   删除   内容替换   cat   shell   获取   影响   info   

1、从左往右删除匹配内容
[root@localhost ~]# name=www.baidu.com.cn
[root@localhost ~]# echo ${name} #获取变量值
www.baidu.com.cn
[root@localhost ~]# echo ${#name} #获取变量长度
16
[root@localhost ~]# echo ${name#*.} #从左往右最短匹配
baidu.com.cn
[root@localhost ~]# echo ${name##*.} #从左往右最长匹配
cn
2、从右往左删除匹配内容
[root@localhost ~]# echo ${name%.*} #从右往左最短匹配
www.baidu.com
[root@localhost ~]# echo ${name%%.*} #从右往左最短匹配
www
3、切片
[root@localhost ~]# echo ${name:0:3} #从0索引切到3索引,包前不报后,切出前三位
www
[root@localhost ~]# echo ${name:0} #从0索引处开始截取
www.baidu.com.cn
4、变量内容替换
[root@localhost ~]# echo ${name}
www.baidu.com.cn
[root@localhost ~]# echo ${name/baidu/qq}
www.qq.com.cn
5、变量替代

技术图片

[root@localhost ~]# echo $name
www.baidu.com.cn
[root@localhost ~]# x=${name-haha}
[root@localhost ~]# echo $x
www.baidu.com.cn

[root@localhost ~]# unset name #此时,无name变量
[root@localhost ~]# x=${name-haha}
[root@localhost ~]# echo $x
haha

[root@localhost ~]# name=  #此时,虽然有name变量,但是值为空
[root@localhost ~]# x=${name-haha}
[root@localhost ~]# echo $x

6、变量自增

注意:符号在前或者在后,对最后变量的值无影响,仅仅对运算结果有影响。

[root@localhost ~]# i=1
[root@localhost ~]# let i++
[root@localhost ~]# echo $i
2
[root@localhost ~]# let --i
[root@localhost ~]# echo $i
1
小脚本
统计某网段内可用ip
[root@localhost ~]# cat ping_ip.sh 
#!/bin/bash
rm -rf ip.txt &>/dev/null
for i in {1..200}
do
    {
    ip=100.100.100.$i
    ping -c1 -w1 $ip &>/dev/null
    if [ $? -eq 0 ];then
        echo "$ip"|tee -a ip.txt
   fi
}&
done
wait
nu=`cat ip.txt |wc -l`
echo "可用ip个数为:$nu"
运行结果
[root@localhost ~]# bash ping_ip.sh 
100.100.100.2
100.100.100.100
可用ip个数为:2

shell 变量删除与替换

标签:ima   运算   删除   内容替换   cat   shell   获取   影响   info   

原文地址:https://www.cnblogs.com/hjnzs/p/12218869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!