盾牌和铠甲

在用经验拼凑的盾牌上
扎满了纷乱错综的谎言
在用梦想打造的铠甲上
布满了恶毒欺诈的伤痕

在战火之中的坚持
在孤独尽头的珍视
该相信什么是唯一的希望
该决定什么是生命绝对不应该如此

梦想之上的梦想
逆风而上的飞翔
判断之后的判断
逆光而向的洞察

过去无意间犯下的错误
就算会辗转反侧悔恨终身
也绝不会为了内心安稳而放弃的那份善念
将会成为人们在这颗星球上最后的盾牌

理想之上的理想
不会后悔的牺牲
选择之后的选择
不会后怕的勇敢

如今必须要去面对的那些邪恶
就算会因毫无安全感而变得焦躁不安
也绝不会为了内心安稳而抛弃的那份公正
将会成为人们在这颗星球上最后的铠甲

稍纵即逝的人生
生命的价值从来都不是曾存在于世
共同理想的创造
人类会因为拥有彼此而变得无所畏惧

[命令] Linux 变量替换

内容目录:

案例一:当要替换的变量未定义或为空时则给予其一个默认值

案例二:当要替换的变量已定义且不为空时则给予其一个默认值

案例三:当要替换的变量已定义且不为空时则替换此变量的前一部分
3.1 当要替换的变量已定义且不为空时则替换此变量的前一部分
3.2 当要替换的变量已定义且不为空时则替换此变量的某一部分

案例四:当要替换的变量已定义且不为空时则替换此变量去除前一部分的值
4.1 去除变量左数第一个某一个符号前面的所有值
4.2 去除变量左数最后某一个符号前面的所有值
4.3 去除前面一部分值

案例五:当要替换的变量已定义且不为空时则替换此变量去除后一部分的值
5.1 去除变量右数第一个某一个符号前面的所有值
5.2 去除变量右数最后某一个符号前面的所有值
5.3 去除后面一部分值

案例六:当要替换的变量已定义且不为空时则替换此变量替换一部分后的值

具体的内容:

案例一:当要替换的变量未定义或为空时则给予其一个默认值

# value=
# newvalue=${value:-eternalcenter}
# echo $newvalue
eternalcenter
# value=mingyuzhu
# newvalue=${value:-eternalcenter}
# echo $newvalue
mingyuzhu

或者:

# value=
# newvalue=${value:=eternalcenter}
# echo $newvalue
eternalcenter
# value=mingyuzhu
# newvalue=${value:=eternalcenter}
# echo $newvalue
mingyuzhu

(补充:这里以当变量 value 存在且为空时则变量 newvalue 的值为 eternalcenter 为例)

案例二:当要替换的变量已定义且不为空时则给予其一个默认值

# value=
# newvalue=${value:+eternalcenter}
# echo $newvalue
# value=mingyuzhu
# newvalue=${value:+eternalcenter}
# echo $newvalue
eternalcenter

(补充:这里以当变量 value 存在且不为空时则变量 newvalue 的值为 eternalcenter 为例)

案例三:当要替换的变量已定义且不为空时则替换此变量的前一部分
3.1 当要替换的变量已定义且不为空时则替换此变量的前一部分

# value=mingyuzhu
# newvalue=${value:offset:4}
# echo $newvalue
ming

或者:

# value=mingyuzhu
# newvalue=${value:0:4}
# echo $newvalue
ming

(补充:这里以当变量 value 存在且不为空时则变量 newvalue 的值为变量 value 前 4 个字符为例)

3.2 当要替换的变量已定义且不为空时则替换此变量的某一部分

# value=mingyuzhu
# newvalue=${value:4:2}
# echo $newvalue
yu

(补充:这里以当变量 value 存在且不为空时则变量 newvalue 的值为变量 value 从第 4 个字符开始的 2 个字符为例)

案例四:当要替换的变量已定义且不为空时则替换此变量去除前一部分的值
4.1 去除变量左数第一个某一个符号前面的所有值

# value=ming:yu:zhu
# newvalue=${value#*:}
# echo $newvalue
yu:zhu

(补充:这里以去除变量 value 左数第一个冒号 “:” 前面的所有值并赋予给变量 newvalue 为例)

4.2 去除变量左数最后某一个符号前面的所有值

# value=ming:yu:zhu
# newvalue=${value##*:}
# echo $newvalue
zhu

(补充:这里以去除变量 value 左数最后一个冒号 “:” 前面的所有值并赋予给变量 newvalue 为例)

4.3 去除前面一部分值

# value=mingyuzhu
# novalue=ming
# newvalue=${value##$novalue}
# echo $newvalue
yuzhu

(补充:这里以去除变量 value 前面的 ming 值并赋予给变量 newvalue 为例)

案例五:当要替换的变量已定义且不为空时则替换此变量去除后一部分的值
5.1 去除变量右数第一个某一个符号前面的所有值

# value=ming:yu:zhu
# newvalue=${value%:*}
# echo $newvalue
ming:yu

(补充:这里以去除变量 value 右数第一个冒号 “:” 前面的所有值并赋予给变量 newvalue 为例)

5.2 去除变量右数最后某一个符号前面的所有值

# value=ming:yu:zhu
# newvalue=${value%%:*}
# echo $newvalue
ming

(补充:这里以去除变量 value 右数最后一个冒号 “:” 前面的所有并赋予给变量 newvalue 值为例)

5.3 去除后面一部分值

# value=mingyuzhu
# novalue=ming
# newvalue=${value%%$novalue}
# echo $newvalue
mingyu

(补充:这里以去除变量 value 后面的 zhu 值并赋予给变量 newvalue 为例)

案例六:当要替换的变量已定义且不为空时则替换此变量替换一部分后的值

# value=mingyuzhu
# noneedvalue=yu
# needvalue=zhu
# newvalue=${value/$noneedvalue/$needvalue}
# echo $newvalue
mingzhuzhu

(补充:这里以将变量 value 中的 yu 替换成 zhu 并赋予给变量 newvalue 为例)