当前位置:首页 » 编程软件 » 外部调用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关键字匹配调用不同的函数,或者在外部脚本末尾添加参数判断和参数传递的逻辑。前者需要添加分支对应每个新函数,后者则提供了一种通用的调用模板,但可能导致函数名变更时的维护问题。

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

热点内容
光遇ios国际服怎么登录安卓 发布:2025-01-09 19:44:24 浏览:778
手机如何破解无线密码 发布:2025-01-09 19:36:52 浏览:49
java猫 发布:2025-01-09 19:35:13 浏览:130
linux端口号命令 发布:2025-01-09 19:21:55 浏览:530
输入虚拟手机服务器地址怎么填 发布:2025-01-09 18:58:50 浏览:349
dede换数据库 发布:2025-01-09 18:53:23 浏览:263
sql2000数据库置疑修复 发布:2025-01-09 18:35:54 浏览:411
块设备块缓存 发布:2025-01-09 18:35:46 浏览:485
HED编译 发布:2025-01-09 18:20:26 浏览:408
从安卓转移设备从哪里呢 发布:2025-01-09 18:12:31 浏览:557