zhulibin2012

shell脚本总结

 1.变量

 A:  定义变量A=1,只会对自己所在的shell进程有效

 B: 定义变量export B=1,会对自己所在的shell进程及其子进程生效

 C: 在script.sh脚本中定义的变量,在当前shell登录的进程中source script.sh时,脚本中定义的变量也会进入当前登录的进程.

  注意: 可以使用pstree查看进程的层级.

例如:

  远程执行启动zk的脚本,当在65.3中使用ssh远程登录到65.5启动zk显示执行成功.但是到65.5查看并未启动zk,如下所示:

原因: 这个脚本远程运行是启动zk的,但是当此脚本在远程属于独立会话,即远程会话结束以后会把这个zk的子进程干掉.而且zk的启动依赖于java.

所以需要修改命令为: 

ssh root@192.168.65.$i "source /etc/profile;bash /app/zk/zookeeper-3.4.5/bin/zkServer.sh start"

2.全局脚本

当想让一个脚本在各个目录下均能执行,那么需要将其配置到$PATH目录下并赋予执行权限即可.

例如:

  想在任意目录下执行startZK.sh自定义脚本,如下截图:

 A: 查看$PATH

 

B: 将自定义脚本放在以上任意目录并赋予执行权限

C:即可以在其他任意目录执行此脚本

 

posted on 2018-05-22 22:30  zhulibin2012  阅读(86)  评论(0编辑  收藏  举报

导航