【Linux命令-shell】字符串的处理与变量的初始化

目录

1、字符串的处理机制

1.1字串的截取

1.2字串的替换

 1.3字串的掐头

1.4字串的去尾

1.5批量修改文件的扩展名

2、变量初始化

2.1创建系统用户


1、字符串的处理机制

1.1字串的截取

 语法格式:

${变量:起始位置:长度}

echo ${#变量}  #表示输出变量的长度

如果在变量后只输入一个值,表示起始位置到最后

如果长度为负数表示,从起始位置截取到倒数第几位

1.2字串的替换

 替换一个结果:  ${变量/旧字串/新字串}

替换全部结果:  ${变量//旧字串/新字串}  #将所有的某个字符替换成另一个字符

 1.3字串的掐头

从左往右,最短匹配删除     ${变量#关键词}

提示:对变量掐头不会改变变量原有的值

从左往右,最长匹配删除  ${变量##关键词}

1.4字串的去尾

从右往左,最短匹配删除         ${变量%关键词}

提示:对变量去尾不会改变变量原有的值

从右往左,最长匹配删除        ${变量%%关键词}

 1.5批量修改文件的扩展名

 修改一个文件的扩展名

mv  a.txt   a.doc

批量修改

 rename1.sh文件内容如下:

#!/bin/bash
for i in $(ls *.txt)
do
    mv $i ${i%.*}.doc
done

或者

 rename2.sh文件内容如下:

#!/bin/bash
for i in $(ls *.$1)
do
    mv $i ${i%.*}.$2
done

2、变量初始化

变量有值,则返回该变量的值,

变量无值,则返回初始值

               格式:${变量:-关键词}

2.1创建系统用户

user.sh文件内容如下

#!/bin/bash
read -p "请输入用户名:" iname
if [ -z "$iname" ];then
    echo -e "\033[32m未输入用户名,脚本将退出……\033[0m"
    exit
fi
read -p "请输入密码:" ipass
ipass =${ipass:-123456}
useradd "iname"
echo "$ipass" | passwd --stdin "iname" 

与之前创建用户的不同之处在于设置了默认的密码,注意该文件最好在其他虚拟机使用,因为Ubuntu不支持stdin语句。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值