Ronan Blog

罗华东的博客 | 永远相信美好的事情即将发生

shell 文本、字符串处理

2024-09-02 Linux Ronan

1、字符串切片

${变量:偏移量:截取长度}

--------------------------example
[192.168.2.230] - root@ubuntu20.04.5-template:/ root
$ MYPATH=' /usr/bin/wget'

[192.168.2.230] - root@ubuntu20.04.5-template:/root
$ echo ${MYPATH: 4:4}
/bin     			  #其会左向右从第四位向后取四位(字符串第一位为0)

[192.168.2.230] - root@ubuntu20.04.5-template:/ root
$ echo ${MYPATH: -4}  #这会右向左从末尾向前取四位,「-4和冒号之间要有一个空格」

2、基于模式取子串

${var#*word} 其中word可以是指定的任意字符,自左而右,删除字符串开头至第一次出现word字符之间的所有字符。

${var##*word}
其中word可以是指定的任意字符,自左而右,删除字符串开头至最后一次出现word字符之间的所有字符。

${var%sword*}
其中word可以是指定的任意字符,自右而左,删除字符串尾部至第一次出现word字符之间的所有字符。

${var%%sword*}
其中word可以是指定的任意字符,自右而左,删除字符串尾部至最后一次出现word字符之间的所有字符

3、查找删除

${var/匹配文本}
删除第一次匹配到的内容

${var//pattern}
删除所有匹配到的内容

${var/#pattern}
删除行首匹配到的内容

${var/%pattern}
删除行尾匹配到的内容

4、查找替换

${var/匹配文本/替换文本}
替换第一次匹配到的内容

${var//匹配文本/替换文本}
替换所有匹配到的内容

${var/#匹配文本/替换文本}
行首匹配时替换行首

${var/%匹配文本/替换文本}
行尾匹配时替换行尾

Linux查看或修改主机名

2024-09-02 Linux Ronan

1查看当前主机名

hostname

这将会显示当前的主机名,或者

cat /etc/hostname

2修改主机名

使用以下命令设置新主机名

sudo hostnamectl set-hostname <new_hostname>

之后在文件中找到包含旧主机名的行,并将其替换为新主机名。确保将新主机名映射到正确的 IP 地址上。

sudo vim /etc/hosts

将旧主机名替换为新主机名 (可选)

127.0.0.1   localhost
127.0.1.1   <your-new-hostname>

最后,重启一下网络服务

sudo systemctl restart networking

注意:如果是通过ssh登录的,在完成以上步骤之后可能需要退出后重新登录才可看到主机名刷新!!!

shell 编程

2024-09-02 Linux Ronan

一、运算符

1、算术运算符

下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:

运算符说明举例
+加法expr $a + $b 结果为 30。
-减法expr $a - $b 结果为 -10。
*乘法expr $a \* $b 结果为 200。
/除法expr $b / $a 结果为 2。
%取余expr $b % $a 结果为 0。
=赋值a=$b 把变量 b 的值赋给 a。
==相等。用于比较两个数字,相同则返回 true。[ $a ==$b ] 返回 false。
!=不相等。用于比较两个数字,不相同则返回 true。[ $a !=$b ] 返回 true。

注意: 条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a ==$b ]

Continue reading
Older posts Newer posts