1、登录CentOS7系统,打开终端,输入命令env shell打印出shell进程的环境变量。
创新互联建站-专业网站定制、快速模板网站建设、高性价比阳城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式阳城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖阳城地区。费用合理售后完善,十余年实体公司更值得信赖。
2、本地变量只存在当前shell进程。新建一个本地变量MYVAR=myvalue注意等号两边不能有空格。
3、查看本地变量set查看指定本地变量set | grep MYVAR。
4、导出本地变量为环境变量export MYVAR。
5、删除本地变量或环境变量unset MYVAR即可。
如果没有运维人员或运维软件,但是又面临在一个集群中每台机器都执行一个命令时,总不能真的登录每一台吧。那这里就起一个简单的命令分发执行脚本。
0、确保脚本所在的机器能够免密登录到集群其他机器
SSH免密登录配置
1、将集群的IP都写入一个文件中
2、编写命令分发脚本
如果机器数量少,可以替换第三行语句为
如果机器IP配置的映射名有规律,也可以替换第三行语句为
同时后面的 $i 替换为 hadoop$i
3、测试
#!/bin/bash
eval "cd /export/songhongwei/code"
eval "cd /export/songhongwei/data"
echo "上面两行就是在.shell书写linux命令的方式"
备注:
语法:eval cmdLine
eval会对后面的cmdLine进行两遍扫描,如果第一遍扫描后,cmdLine是个普通命令,则执行此命令;如果cmdLine中含有变量的间接引用,则保证间接引用的语义。
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。
shell脚本就是一些命令的集合。
举个例子,我想实现这样的操作:
1)进入到/tmp/目录;
2)列出当前目录中所有的文件名;
3)把所有当前的文件拷贝到/root/目录下;
4)删除当前目录下所有的文件。
简单的4步在shell窗口中需要你敲4次命令,按4次回车。这样是不是很麻烦?当然这4步操作非常简单,如果是更加复杂的命令设置需要几十次操作呢?那样的话一次一次敲键盘会很麻烦。所以不妨把所有的操作都记录到一个文档中,然后去调用文档中的命令,这样一步操作就可以完成。其实这个文档呢就是shell脚本了,只是这个shell脚本有它特殊的格式。《linux 就该这么学》
Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后你发现了.sh为后缀的文件那么它一定会是一个shell脚本了。test.sh中第一行一定是 “#! /bin/bash” 它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释,在前面讲过的。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。当然这些注释并非必须的,如果你懒的很,可以省略掉,但是笔者不建议省略。因为随着你工作时间的增加,你写的shell脚本也会越来越多,如果有一天你回头查看你写的某个脚本时,很有可能忘记该脚本是用来干什么的以及什么时候写的。所以写上注释是有必要的。另外系统管理员并非你一个,如果是其他管理员查看你的脚本,他看不懂岂不是很郁闷。该脚本再往下面则为要运行的命令了。