Centos编写shell脚本

原文链接

部分转载自:https://www.cnblogs.com/jacktian-it/p/11556826.html

$命令的语法

$0 shell命令本身

$1~$9 表示shell的第几个参数

$? 显示最后命令的执行情况

$# 传递到脚本的参数个数

$$ 脚本运行的当前进程id号

$* 单字符串显示所有向脚本传递的参数

$! 后台运行的最后一个进程的 ID 号

$- 显示 Shell 使用的当前选项

“”、’’、``的区别

`` 	是命令替换,执行你的命令
''   	单引号是单纯的字符,不会引用
""		双引号是可以引用的

bash环境变量配置

在编写Shell脚本之前,首先要配置好
JDK1.8
/etc/profile 环境变量,否则用户没有权限就无法跨界点访问

export JAVA_HOME=/usr/java/jdk1.8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin           

~/bashrc文件 环境变量的设置只对用户自己生效,配置这个文件,使用bash命令,只要以该用户身份运行命令行就会读取到该文件。

在所有节点上执行这个命令

cat /etc/profile >> ~/.bashrc

所有节点运行相同命令脚本

写的时候注意,中间没有逗号

#! /bin/bash
for i in hadoop1 hadoop2 hadoop3
do
        echo --------- $i ----------
        ssh $i "$*"
done

i 是循环的变量(hadoop1,hadoop2,hadoop3),do是要干的事情,done是结束语句,这三个是shell中for循环一体的


版权声明:本文为weixin_44675844原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。