问题
Arm开发版常见的系统是Armbian,每次登录都会有一个现实系统信息的banner非常实用
本着学习的心态,看了一下源码如何实现
脚本存放位置是/etc/update-motd.d/30-armbian-sysinfo
涉及字符串操作%%不太理解
$ echo $load
1.72 1.12 0.99
$ echo ${load%% *}
1.72
解析
#可以用${ }分别替换得到不同的值:
$ file=/dir1/dir2/dir3/my.file.txt
#删掉第一个 / 及其左边的字符串:
$ echo ${file#*/}
dir1/dir2/dir3/my.file.txt
#删掉最后一个 / 及其左边的字符串
$ echo ${file##*/}
my.file.txt
#删掉第一个 . 及其左边的字符串
$ echo ${file#*.}
file.txt
#删掉最后一个 . 及其左边的字符串
$ echo ${file##*.}
txt
#删掉最后一个 / 及其右边的字符串
$ echo ${file%/*}
/dir1/dir2/dir3
#删掉第一个 / 及其右边的字符串(空)
$ echo ${file%%/*}
#删掉最后一个 . 及其右边的字符串
$ echo ${file%.*}
/dir1/dir2/dir3/my.file
#删掉第一个 . 及其右边的字符串
$ echo ${file%%.*}
/dir1/dir2/dir3/my
#提取最左边的 5 个字节
$ echo ${file:0:5}
/dir1
#提取第 5 个字节右边的连续5个字节
$ echo ${file:5:5}
/dir2
#将第一个dir 替换为path
$ echo ${file/dir/path}
/path1/dir2/dir3/my.file.txt
#将全部dir 替换为 path
$ echo ${file//dir/path}
/path1/path2/path3/my.file.txt