You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从script_1.ksh调用script_2.ksh中的Unix子例程sub_1()?

问题解答

你给出的script_2.sub_1()写法在ksh中是无效的,无法直接调用另一个脚本里的子例程,正确的实现方式如下:

步骤1:在script_1.ksh中导入script_2.ksh

要使用其他脚本里的函数,首先需要将目标脚本的内容加载到当前Shell环境中,使用source或.命令(两者等价):

#!/bin/ksh
# 导入script_2.ksh,若不在同一目录需指定绝对/相对路径
. script_2.ksh

步骤2:直接调用子例程

导入完成后,就可以直接调用sub_1函数了:

#!/bin/ksh
. script_2.ksh
sub_1

注意事项

  • 确保script_2.ksh中的sub_1函数是全局可访问的(未定义在局部作用域内)
  • 若两个脚本不在同一目录,需指定script_2.ksh的完整路径,例如. /home/user/scripts/script_2.ksh
  • 导入脚本时会执行脚本内的所有顶级代码,若script_2.ksh有无需执行的初始化逻辑,建议用条件判断区分直接运行和被导入的场景

内容的提问来源于stack exchange,提问作者mikcutu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 21:21:45