加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在bash脚本中连接输入

发布时间:2020-12-14 02:50:27 所属栏目:Linux 来源:网络整理
导读:参见英文答案 Concatenate all arguments and wrap them with double quotes6个 我想连接传递给我的bash脚本的所有参数,除了标志. 例如,如果脚本接受如下输入: ./myBashScript.sh -flag1 exampleString1 exampleString2 我希望结果是“exampleString1_examp
参见英文答案 > Concatenate all arguments and wrap them with double quotes6个
我想连接传递给我的bash脚本的所有参数,除了标志.

例如,如果脚本接受如下输入:

./myBashScript.sh -flag1 exampleString1 exampleString2

我希望结果是“exampleString1_exampleString2”

我可以为预定义数量的输入(即2)执行此操作,但如何为任意数量的输入执行此操作?

解决方法

function concatenate_args
{
    string=""
    for a in "$@" # Loop over arguments
    do
        if [[ "${a:0:1}" != "-" ]] # Ignore flags (first character is -)
        then
            if [[ "$string" != "" ]]
            then
                string+="_" # Delimeter
            fi
            string+="$a"
        fi
    done
    echo "$string"
}

# Usage:
args="$(concatenate_args "$@")"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读