我的问题是:
我有一个包含各种实用函数的库(假设称为qa-baslib.sh
),我在开发中将其包含到测试脚本中。
现在,另一位开发人员创建了一个支持SSH连接到不同服务器的Bash脚本库(假设称为global_ssh
)。它看起来像这样:
global_ssh
:
#!/bin/bash
global_ssh(){
# Doing some ssh stuff
}
我正在这样引用
global-ssh
文件:
qa-baslib.sh
#!/bin/bash
. /<path-to>/qa-util-scripts/global_ssh
function some_util_function() {
server=$1
command=$2
# Here i'm calling global_ssh function
timeout -s 9 30 global_ssh $sever $command
}
但是当我最终执行该函数,通过命令行从源代码中获取它时,我遇到了错误:
]# . /<path-to>/qa-bashlib.sh
]# some_util_function $server $command
]# timeout: failed to run command `global_ssh': No such file or directory
有什么问题,是否有解决方案呢?
谢谢
/sbin/timeout
。太准确了!之前只有ssh
,所以timeout -s 9 30 ssh
是有效的,但是当我将ssh
替换为函数时,我也应该移除超时时间 :) - Samuel