创建脚本文件

it2022-12-29  69

注:我的集群为:node1(主节点)、node2、node3 所有节点都要创建脚本文件,下面以node1为例:

1. 创建xcall.sh文件

touch xcall.sh
在里面添加如下内容:
#!/bin/bash params=$@ i=1 for (( i=1 ; i <= 3 ; i = $i + 1 )) ; do echo ============= node$i $params ============= ssh node$i "$params" done

脚本第一行的内容指定了shell脚本解释器的路径,而且这个指定路径只能放在文件的第一行。第一行写错或者不写时,系统会有一个默认的解释器进行解释。常用的linux系统上默认都是执行/bin/bash来执行我们的shell脚本。

2. 赋权限—可执行权限

chmod +x xcall.sh

3. 移动脚本到/usr/local/bin/下面

mv xcall.sh /usr/local/bin/

4. 使用xcall.sh脚本,出现报错

解决办法:

在/usr/local/bin/下做jps的软链接

5. 再次执行脚本文件

知识拓展:

Shell脚本和我们常用的C语言或者C++语言编写编译出来的bin执行不一样, shell是一种解释性语言,他需要专门的解析器来解析然后执行,不同的脚本语言需要匹配对应的解析器才能解析执行,比如python也是一中解释性编程语言,需要对应的ptthon解释器来解析执行。我们linux上的shell 是bash shell,所以我们在编写一个脚本的时候需要在第一行添加”#!/bin/bash“. 这句话的意思是告诉执行器需要调用/bin/bash来执行我。这也是在shell中唯一以#号开头却不代表是注释的意思,其他任何地方以#号开头的语句都会被认为是注释语句而忽略执行,所以这句话只能写在 shell的开头才有效。
最新回复(0)