小编Ahm*_*aid的帖子

在shell脚本中将命名参数作为数组传递

我目前正在构建的工具中有此代码:

while [ $# -gt 0 ]; do
  case "$1" in
    --var1=*)
      var1="${1#*=}"
      ;;
    --var2=*)
      var1="${1#*=}"
      ;;
    --var3=*)
      var1="${1#*=}"
      ;;
    *)
      printf "***************************\n
              * Error: Invalid argument.*\n
              ***************************\n"
  esac
  shift
done
Run Code Online (Sandbox Code Playgroud)

我有很多选项要添加,但我的五个选项应该保存为数组。因此,如果我调用该工具,让我们从 shell 中使用以下内容说:
./tool --var1="2" --var1="3" --var1="4" --var1="5" --var2="6" --var3="7"

如何将 的值保存var1为数组?那可能吗?而且,如果是这样,如果我有太多数组,那么在效率方面处理这些数组的最佳方法是什么?

shell bash shell-script

5
推荐指数
1
解决办法
5436
查看次数

标签 统计

bash ×1

shell ×1

shell-script ×1