linux – 在bash脚本中连接输入

参见英文答案 > 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 "$@")"

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...