一、变量内容的增加(:)
方法
- 可以使用:向一个变量中添加新的内容(一定要加上:号)
- 如果将:放在前面,则是在前面增加内容,不再举例
演示案例
- 向name变量中添加内容
- 在前面添加
二、变量内容的修改
概念:变量内容的修改与变量内容的增加不同。变量内容单独修改是修改原来变量,不会新增
方法
- 方式一:变量名="$变量名"新内容
- 方式二:变量名=${变量名}新内容
演示案例
- name=dong,将name变量内容后面加上shao
- 方法一:name="$name"shao
- 方法二:name=${name}shao
- 错误案例:name=$nameshao ==>此种方法是错误的,这种方法是将$nameshao变量赋值给name变量
三、变量内容的删除
格式
- 删除的方式有四种,不同的删除方式与#、##、%、%%有关
- echo ${变量名#关键字} ==>从最左边删除符合条件的最短关键字
- echo ${变量名##关键字} ==>从最左边删除符合条件的最长关键字
- echo ${变量名%关键字} ==>从最右边删除符合条件的最短关键字
- echo ${变量名%%关键字} ==>从最右边删除符合条件的最长关键字
注意事项
- 变量内容的删除并不是真的删除内容,只是删除完之后显示出来。变量的内容没有发生变化
演示案例
- 例如一个num变量的内容为/home/dong/desktop/1.txt
- echo ${变量名#关键字} ==>从最左边删除符合条件的最短关键字
echo ${num#/*/}
- echo ${变量名##关键字} ==>从最左边删除符合条件的最长关键字
echo ${num##/*/}
- echo ${变量名%关键字} ==>从最右边删除符合条件的最短关键字
echo ${num%/*}
- echo ${变量名%%关键字} ==>从最右边删除符合条件的最长关键字
echo ${num%%/*}
四、变量内容的替换
格式
- 变量内容的替换与/的数量有关
- echo ${变量名/关键字/新字符串} ==>从最左侧开始替换第一个符合条件的关键字
- echo ${变量名//关键字/新字符串} ==>从最左侧开始替换所有符合条件的关键字
注意事项
- 变量内容的替换并不是真的替换内容,只是替换完之后显示出来。变量的内容没有发生变化
演示案例
- 例如一个name变量的内容为usr/bin/sbin/bin/usr
- echo ${变量名/关键字/新字符串} ==>从最左侧开始替换第一个符合条件的关键字
echo ${name/bin/BIN}
- echo ${变量名//关键字/新字符串} ==>从最左侧开始替换所有符合条件的关键字
echo ${name//bin/BIN}
五、变量内容的测试取代
格式
- var和str为变量名,expr自己设定的值
- 注意:使用echo查看变量内容时如果没有内容,该变量可能没有设置值或者为空字符串
变量设置的方式 | str没有设置 | str为空字符串 | str已设置,且为非空字符串 |
var=${str-expr} | var=expr | var=空字符串 | var=$str |
var=${str:-expr} | var=expr | var=expr | var=$str |
var=${str+expr} | var=空字符串 | var=expr | var=expr |
var=${str:+expr} | var=空字符串 | var=空字符串 | var=expr |
var=${str=expr} | str=expr var=expr | str不变 var=空字符串 | str不变 var=$str |
var=${str:=expr} | str=expr var=expr | str=expr var=expr | str不变 var=$str |
var=${str?expr} | 提示错误信息,将expr输出至stderr | var=空字符串 | var=$str |
var=${str:?expr} | 提示错误信息,将expr输出至stderr | 提示错误信息,将expr输出至stderr | var=$str |
演示案例
- var=${str-expr}。先将str设置有内容,所以var=var
- var=${str-expr}。先将str设置为空字符串,所以var=空
- var=${str?"无此内容"}。将str和var都unset释放掉,然后使用?
- 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。