繁体   English   中英

如何执行存储在变量中的多个函数 bash

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM