shell编程

Posted tom-blogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程相关的知识,希望对你有一定的参考价值。

一、文件数据操作

(一)向文件中追加数据

1、向a.txt文件末尾写入“what are you doing?”

方法一:sed命令

sed -i ‘$awhat are you doing?‘ a.txt

方法二:重定向方法

echo "what are you doing?" >> a.txt

(二)修改文件中的数据

1、向a.txt文件中“what”所在行修改为“how do you do?”

[root@localhost ~]# cat a.txt 
hello
hello world
what are you doing?
[root@localhost ~]# sed -i ‘/what/chow‘ a.txt
[root@localhost ~]# cat a.txt 
hello
hello world
how

 

二、文件检查

1、检查ifcfg-ens33文件是否存在于/etc/sysconfig/network-scripts目录中

test -f /etc/sysconfig/network-scripts/ifcfg-ens33

2、检查ifcfg-ens33文件是否存在于/etc/sysconfig/network-scripts目录中,并且是否为空

test -s /etc/sysconfig/network-scripts/ifcfg-ens33

 

三、变量操作

1、变量拼接

变量与变量拼接

[root@localhost ~]# a="hello"
[root@localhost ~]# b=" world"
[root@localhost ~]# c=$a$b
[root@localhost ~]# echo $c
hello world

变量与字符串拼接

[root@localhost ~]# a="hello"
[root@localhost ~]# b=$a" world"
[root@localhost ~]# echo $b
hello world

2、变量赋值

把运行的结果赋值给变量

[root@localhost ~]# result=`ls`
[root@localhost ~]# echo $result
anaconda-ks.cfg a.txt hey ifcfg- network_cfg.sh

3、sed命令引用外部变量(把a.txt文件中hello所在行修改为res变量的值)

[root@localhost ~]# vim b.txt 
[root@localhost ~]# cat b.txt 
are you sure?
hello
[root@localhost ~]# res="yeah"
[root@localhost ~]# sed -i ‘/hello/c‘"$res"‘‘ b.txt 
[root@localhost ~]# cat b.txt 
are you sure?
yeah

以上是关于shell编程的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

Linux bash基础特性二

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

使用 Pygments 检测代码片段的编程语言

面向面试编程代码片段之GC