如何在K6测试中调用脚本?执行scale.sh提示文件未找到的问题
解决k6调用shell脚本时"executable file not found in $PATH"的问题
你遇到的错误是因为k6的exec.command默认只会在系统$PATH环境变量指定的目录中查找可执行文件,而你的scale.sh不在这些目录里,同时还要确保脚本本身有执行权限。以下是具体解决方法:
方法1:使用脚本的绝对路径调用
直接在exec.command中传入scale.sh的完整绝对路径,比如:
修改后的main.js:
import exec from 'k6/x/exec'; export default function () { // 替换为你实际的scale.sh绝对路径 let result = exec.command('/home/your-project/scale.sh'); }
可以通过在脚本所在目录执行pwd命令获取当前目录的绝对路径,再拼接scale.sh得到完整路径。
方法2:将脚本所在目录临时加入$PATH
在运行k6命令时,把脚本所在目录添加到$PATH中,比如:
PATH=$PATH:/path/to/your/script/directory k6 run main.js
这样k6就能在指定目录中找到scale.sh。
方法3:确保脚本拥有可执行权限
无论用哪种路径方式,都需要给scale.sh添加执行权限,否则即使路径正确也无法运行:
chmod +x scale.sh
完成以上操作后,重新运行k6 run main.js即可正常调用脚本执行Kubernetes扩缩容操作。
内容的提问来源于stack exchange,提问作者jsingh13
相关产品推荐
相关产品推荐

