linux中shell脚本引用另一shell脚本
2022/1/20 7:18:27
本文主要是介绍linux中shell脚本引用另一shell脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
调用有三种方法:
1、fork:不同的shell,调用后返回父shell,子shell从父shell中继承变量,但子shell的变量不会带回父shell,直接用path/to/file.sh调用;
2、exec:同一个shell,调用后不返回,用exec path/to/file.sh调用;
3、source:同一个shell,调用后返回,用source path/to/file.sh调用。
第一个脚本quote1.sh,代码如下:
1 #!/bin/bash 2 # 3 A=1 4 echo "ID1=$$" 5 export A 6 echo -e "A1=$A\n" 7 case $1 in 8 --exec) 9 echo "use exec" 10 exec ./quote2.sh;; 11 --source) 12 echo "use source" 13 source ./quote2.sh;; 14 *) 15 echo "use fork" 16 ./quote2.sh;; 17 esac 18 echo -e "\nID1=$$" 19 echo "A1=$A"
第二个脚本quote2.sh,代码如下:
1 #!/bin/bash 2 # 3 echo "A1=$A" 4 A=2 5 echo "ID2=$$" 6 export A 7 echo "A2=$A"
# chmod +x quote* //添加权限
# cd /root/test/script/ //进入文件所在目录
1、选择fork方法
# ./quote1.sh //无参数执行脚本1
两个脚本的进程ID号不同,所以在不同的shell下执行的,但调用完quote2.sh会返回继续执行。
2、选择exec方法
# ./quote1.sh --exec //观察exec执行结果
两个进程ID号相同,所以是在同一shell下执行,但调用完quote2.sh就会结束。
3、选择source方法
# ./quote.sh --source //观察source执行结果
两个进程ID号相同,所以是在同一shell下执行,但调用完quote2.sh会返回继续执行。
这篇关于linux中shell脚本引用另一shell脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法