评论

收藏

[Linux] CentOS shell中的变量

服务系统 服务系统 发布于:2022-08-01 13:33 | 阅读数:430 | 评论:0

${#变量名}:获取该变量的长度[root@web01 ~]# vim a.sh
#!bin/bash
name=wsh
echo ${#name}
[root@web01 ~]# . a.sh
3
[root@web01 ~]# vim a.sh
#!bin/bash
name=$1
echo ${#name}
[root@web01 ~]# . a.sh  123456
6
[root@web01 ~]# vim a.sh
#!bin/bash
read -p '请输入用户名:' name
read -p '请输入密码:' pas
if [ ${#pas} -lt 8 ];then
echo '密码必须大于等于八位'
else
echo '密码符合要求'
fi
[root@web01 ~]# . a.sh
请输入用户名:www
请输入密码:111
密码必须大于等于八位
[root@web01 ~]# . a.sh
请输入用户名:www
请输入密码:12345678
密码符合要求
${变量名}:调用变量
${变量名:偏移量}:字符串的截取
[root@web01 ~]# vim a.sh
#!bin/bash
name=wsh
echo ${name:1}
[root@web01 ~]# . a.sh
sh
${变量名:偏移量:步长}:字符串的截取
[root@web01 ~]# vim a.sh
#!bin/bash
name=wsh_blog51CTO
echo ${name:3:5}
[root@web01 ~]# . a.sh
_blog
${变量名#字符串}:从变量开头,删除最短匹配word的子串
${变量名##字符串}:从变量开头,删除最长匹配word的子串
[root@web01 ~]# vim a.sh
#!bin/bash
name=/tmp/abc/1.txt
echo ${name#*/}
echo ${name##*/}
[root@web01 ~]# . a.sh
tmp/abc/1.txt
1.txt
[root@web01 ~]# vim 1.txt
/tmp/abc/1.txt
/root/2.txt
/usr/local/src/3.txt
[root@web01 ~]# vim a.sh
#!bin/bash
for line in `cat 1.txt`;do
echo ${line##*/}
done
[root@web01 ~]# . a.sh
1.txt
2.txt
3.txt
${变量名%字符串}:从变量结尾,删除最短匹配word的子串
${变量名%%字符串}:从变量结尾,删除最长匹配word的子串
#!bin/bash
for line in `cat 1.txt`;do
echo ${line%%/*}
echo ${line%/*}
done
[root@web01 ~]# . a.sh
/tmp/abc
/root
/usr/local/src
${变量名/匹配内容/替换内容}:使用string替换第一个pattern
[root@web01 ~]# vim a.sh
#!bin/bash
read -p '请输入用户名:' name
echo ${name/ww/wsh}
[root@web01 ~]# . a.sh
请输入用户名:ww_fff_ggg_ww
wsh_fff_ggg_ww
${变量名//匹配内容/替换内容}:使用string替换所有pattern
[root@web01 ~]# vim a.sh
#!bin/bash
read -p '请输入用户名:' name
echo ${name//ww/wsh}
[root@web01 ~]# . a.sh
请输入用户名:ww_ff_ww_gg
wsh_ff_wsh_gg

评论

使用道具 举报