[英]How to execute multiple functions stored in a variable bash
您好,所以我需要一些帮助,我正在寻找一种方法来执行存储在变量中的多个函数。 我能够执行一个 function 存储在一个变量中,但不是多个,请帮助。
这是我拥有的代码,它是我试图为自动化目的创建的一些小东西。
PS3=$'\n'$'\e[95m'"Option: "$'\033[0m'
options=("All" "Specific")
echo -e "\n Would you want to execute All the functions or Specific ones?"
select opt in "${options[@]}"; do
case $opt in
"Specific")
echo " "
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' | awk '!/err/'
echo ""
read -p $'\e[0;33m Enter the function names you want to execute on the boxes (\e[1;34m eg: add_user update_upgrade ... \e[0;33m) : \033[0m' func
functions=$(echo "$func" | tr ' ' '\n')
echo -e "\n$functions\n"
break
;;
"All")
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' | awk '!/err/'
echo " "
break
;;
*)
echo -e "\t\tKindly choose between option 1 and 2."
esac
done
然后我这样执行function;
$functions
但它只执行第一个 function,有没有办法我可以设法执行存储在变量$func
中的多个 function 名称
正如@pynexj 建议尝试使用eval "$functions"
工作的那样,所以我们对 go 很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.