写几个好用的Linux脚本

写几个好用的Linux脚本,第1张

集群通常需要同步配置文件,是不是可以写个脚本快速同步配置文件呢?

这里 xsync 脚本是基于 rsync 的。相对于scp,rsync做文件夹复制时速度更快,因为rsync只对有差异文件做更新,而scp是把所有文件都复制过去。

安装rsync

xsync脚本编写

我这写在常用用户的bin目录下了,之后所有基本我也会写在该目录。xsync脚本内容如下:

放开 /root/bin/xsync 权限

**运行测试:同步Hadoop的配置文件

连接 flink02 ,看下 flink02 是否有该文件!

查看环境变量PATH

我们经常要查询集群中运行的程序,如果你觉得在每台服务器上使用jps命令太麻烦,就可以写个jspall的脚本了。脚本内容如下:

运行测试

一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。

Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。

以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。

当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用sh ./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。

整个shell脚本,其实就相当于你在终端输入的一系列命令,如果想在shell里做什么,就先想想在终端可以做什么吧,字符的的连接,就是直接用 "" 双引号,输出,变量定义无 $ 符号,但是使用时一定要加上 $ 符号。

"="  赋值符号,两边一定不能有空格,这和其他语言有区别,尤其是你还有自己代码美观风格时特别注意,否则会报语法错误!

for 中的数组内容是以 " " 空格分隔,而非 "," 逗号分格。

条件判断 [ true ] 中括号 后面需要有一个空格,但是两个中括号之间不能有空格如 [[ true ]]。

while 条件判断可以用 () 括号,也可以用 [[ ]] 中括号。

如果用windows写shell,一定要注意换行符格式 \n 而非 \r\n , 需要借助一些编辑器(如notepad++)更改换行符格式!

我对shell脚本的认识,除了执行过同事写的shell

脚本外,其他一无所知,为了让自己强大,我决定自己研究shell脚本,也许在你看来很简答,没必要说这么多废话,但是我希望在我的技术blog里记录下来每次的学习的动机,与思想过程,并且我希望用1个小时的时间完成学习并且写出我想要的shell脚本,可以开始了:

对shell的认识:

开始创建一个脚本:

我们使用bash(bourne/目的地,边界/

again

shell)

使用gedit编辑器编写,或者vi等,依据个人习惯在文件的第一行,以下面的内容开始:#!/

bin/sh解释:#!

----告诉系统后面的参数是用来执行该文件的程序,在这里我们使用/

bin

/

sh

来执行脚本

编辑好脚本,要执行该脚本就必须使该脚本可执行:

要使脚本可执行:在文件的末尾加上下面的内容:

chmod

+

x

filename

在命令终端上可输入

./filename来执行脚本

==============================================注释:以#开头,直到这一行结束,养成注释的好习惯

以后编程中用到的具体的语言以后再补充

这里一个简单的输出hello

word!脚本的例子:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7515121.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存