遍历函数名称数组并在 bash 脚本中执行所有这些名称



我写了一个bash脚本,我有一个函数名称数组,变量传递给它们,我想在一个循环中执行所有这些。

但是当我执行 bash 脚本时,出现此错误:

A:找不到命令

我该怎么做?

我的 bash 脚本看起来像这样:

#!/bin/bash
functions_array=("test a" "test b" "testc")
test() {
echo $1
}
testc() { echo "testc!"; }
for i in ${functions_array[@]}; do
${i}
done

您收到此错误是因为您没有引用变量。因此,test a分为两部分。

像这样尝试:

#!/bin/bash
functions_array=("test a" "test b" "testc")
test() {
echo "$1"                          # quoting here and ...
}
testc() { echo "testc!"; }
for i in "${functions_array[@]}"; do       # also here
${i}
done

最新更新