当前位置:首页 » 编程软件 » 外部调用shell脚本内函数

外部调用shell脚本内函数

发布时间: 2025-01-09 04:49:14

Ⅰ shell脚本调用外部脚本的问题

估计是因为脚本1中使用了cd命令改变了当前路径,脚本2中继承了脚本1中的当前路径;而一旦脚本1结束回到主shell,这个当前路径也就不复存在。
如果在脚本2基于这个当前路径启动jar包前,脚本1结束了,那么当前路径肯定回到了主shell的设置去了,jar包就启动不了了。
任何外部调用的shell命令执行都会产生一个进程,都会有一个pid,即使最终执行是返回错误。

所以,两点建议:
1)脚本1调用2的命令行后加上 &,置入后台运行,这样就不会因为脚本1的结束而影响脚本2的运行。
2)脚本中尽量不要用cd命令跳转目录,尽量使用绝对路径。

Ⅱ 如何在shell中实现函数文件import,详情入内

用自动导入函数的方法,可以在命令行下像执行命令一样快捷,而且速度快,占用资源少.
1,建立自己的函数库
mkdir functionlib
然后将常用的脚本改成函数的语法,如:
function filename { command ; }
将filename拷贝到functionlib中,
2,修改环境文件,在/etc/profile中添加
export FPATH=$HOME/functionlib
3,重登录一下
这样的话,你就可以随时用像ls那样运行你自己的filename"命令"
而不需要用什么dot,sh,来运行你的函数/脚本啦~~
如果在脚本中运行,可以在脚本顶部用
#!/bin/sh
##
autoload filename //来自动导入函数.
...
filename //调用函数

linux shell脚本:while循环中调用另一个脚本遇到exit为什么会跳出循环,且继续执行循环后的程序

exit是在被调用的脚本里面,肯定会退出被调用的脚本了。如果不想继续执行while循环后面的程序可以在do后面的条件上加上break

Ⅳ 如何复用外部shell脚本

在Linux开发中,常常需要编写独立的shell脚本执行特定任务。随着任务增多,重复部分逐渐显现,这时可以将公共功能提取到一个通用脚本中,以便其他脚本复用。本文将详解如何在shell脚本中执行外部脚本、调用外部脚本的函数,并探讨脚本复用的几种方法。

首先,通过source命令或直接使用点号加脚本名的方式在另一个脚本(如b.sh)中调用外部脚本(如a.sh)。source会先执行a.sh,然后执行b.sh,而点号方式则直接执行,结果类似。sh外部脚本与前两者在执行顺序上有所不同,因为它在两个独立进程中运行。

接着,我们区分了source和点号调用的相同点,它们都让外部脚本的全局变量和函数在当前脚本中生效。然而,sh方式由于在不同进程运行,无法直接使用外部脚本的函数和变量。

解决这一问题的方法包括使用case关键字匹配调用不同的函数,或者在外部脚本末尾添加参数判断和参数传递的逻辑。前者需要添加分支对应每个新函数,后者则提供了一种通用的调用模板,但可能导致函数名变更时的维护问题。

总的来说,脚本复用提高了代码的可维护性和可复用性,但需要注意不同调用方式的优缺点。在实际应用中,根据具体需求选择合适的复用策略是很重要的。

热点内容
江西l2tp服务器托管云服务器 发布:2025-03-10 14:47:38 浏览:884
微信如何给钱包设置手势密码 发布:2025-03-10 14:46:55 浏览:228
江苏服务器如何 发布:2025-03-10 14:46:17 浏览:178
可编程交直流电源 发布:2025-03-10 14:40:19 浏览:568
c语言编程软件安装教程 发布:2025-03-10 14:20:01 浏览:85
java判断变量类型 发布:2025-03-10 14:19:50 浏览:578
读写存储器解释 发布:2025-03-10 14:04:22 浏览:93
vbs脚本if 发布:2025-03-10 13:56:18 浏览:804
手游脚本开发平台 发布:2025-03-10 13:45:10 浏览:155
javahttp上传图片 发布:2025-03-10 13:39:56 浏览:34