声明:
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec
泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频
————————————————
不同脚本的互相调用
方法一:
首先使用rm *.sh 删掉所有shell脚本(注意,不要误删了自己的重要文件)
然后vim 1.sh 写入echo "hello world"
再创建一个2.sh脚本文件,写入. 1.sh
bash执行2.sh
你会发现输出了1.sh的内容
方法二:
创建的2.sh脚本文件,写入的是. 1.sh
我们可以把. 1.sh修改为source 1.sh
总结:
- 命令
rm *.sh
用于删除当前目录下所有以.sh
为扩展名的文件。这一步是为了确保环境干净,没有其他干扰的 shell 脚本。不过使用这个命令时要特别小心,因为一旦执行,所有符合条件的文件将被立即删除且无法恢复,如果误删了重要文件会造成损失。 - 创建
2.sh
脚本文件,并在其中写入. 1.sh
。在shell
脚本中,.
命令(或者source
命令)用于在当前shell
环境中执行另一个脚本文件。这里就是在2.sh
执行时会调用并执行1.sh
。 - 当在
2.sh
中使用. 1.sh
(或source 1.sh
)时,它会在当前shell
进程中读取和执行1.sh
的内容。这与直接执行bash 1.sh
有区别。直接执行bash 1.sh
会开启一个新的shell
子进程来执行1.sh
,而source
操作是在当前shell
进程内执行,这样如果1.sh
中定义了变量等操作,这些变量在当前shell
环境中会保留下来(如果是bash 1.sh
执行,变量在子进程结束后就消失了)
这种脚本间的调用方式在很多场景下都很有用,比如当需要在一个脚本中复用另一个脚本的函数、变量或初始化操作时,可以采用这种方法。
实例:
vim 3.sh写入