如何将字符串数组传递给Bash脚本并加入该数组?

时间:2018-04-26 01:13:09

标签: bash shell

我想在字符串"%2C+"上加入一个字符串数组。我的shell脚本launch看起来像这样。

#!/bin/bash

function join_by { local d=$1; shift; echo -n "$1"; shift; printf "%s" "${@/#/$d}"; }

selectQuery=$(join_by "%2C+" $1)
echo selectQuery

但是当我运行./download-data $("state_code" "county_code")时,我在终端中收到此错误:bash: state_code: command not found

我需要将参数作为数组传递,因为我计划稍后传递更多数组。类似于./download-data $("state_code" "county_code") $("more" "string")

1 个答案:

答案 0 :(得分:2)

让您的脚本在单独的参数中接受多个字符串:

#!/bin/bash

function join_by { local d=$1; shift; echo -n "$1"; shift; printf "%s" "${@/#/$d}"; }

selectQuery=$(join_by "%2C+" "$@")
echo "$selectQuery"

然后使用多个参数运行它:

./download-data "state_code" "county_code"