linux脚本的source和reload


什么时候用reload?
有些程序, 当你修改了配置文件后, 需要重启之后, 配置才能生效,
但是 这个程序又不能 重启 , 如大公司的httpd服务

因此, 当你修改完了之后, 需要在不重启服务的情况下, update配置文件, 这时候, 就要用到服务的reload!

----------------- ==
具体参考这个站点

source 和点命令是 相同的:
source是 bash shell的内置命令, 是从C shell来的
.点命令是从bourne shell来的.

执行一个shell脚本的方式有两种:

  1. 直接执行这个脚本文件: 就是直接输入这个脚本的路径和名称.

  2. 是单独的 用 另外的 一个命令 来执行:
    source和点命令(注意是命令, 不是当前目录): 就是直接在当前shell下执行, 因此 脚本的内容会马上在当前
    shell下有效!

!!!! 如果直接这个命令,那么 这个文件应该是可以 执行的!

[[
#! /bin/bash . ./file1 echo $a

怎么样结果不一样了吧。这个例子应该还是能说明点问题的吧。如果不用点命令的话,会另起shell进程,而启动这个进行的时候,它会建立自己的进程环境(暂且这么叫它吧),然后在这个进行结束的时候,它所建立的环境也随之被销毁。而且点命令就不一样了,它会把点命令所带的shell脚本里的所以内容带到当前的shell进程里,在本程序里,就是变量a了。

]]

因此, 可以这样看待:
直接执行: 就相当于 函数内部的 局部变量一样, 一旦脚本执行完毕, 就相当于函数执行完毕后, 函数栈就
清栈了. 因此 局部变量在 外部 就没有了, 不能引用了.

使用命令来执行脚本, 就相当于 是使用的 static 静态变量 静态函数一样!

------------ 因此 可以看到, 几乎所有的系统脚本如, .bash_profile, .bashrc内部都是用的 source或.点命令
来执行脚本的-----------------


--------------- source:
source: n. 来源
!!! 可以当做动词, source : 从...获得来源, 从...进货等
如: we source all the meat sold in our stores from farms

所以sourc 的本来含义就是: 从...地方取得来源, 来源于...
因此, source命令就是指, 将后面的脚本命令执行的结果 直接带到当前shell环境中, 立即生效.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM