参见英文答案 >
Concatenate all arguments and wrap them with double quotes6个
我想连接传递给我的bash脚本的所有参数,除了标志.
我想连接传递给我的bash脚本的所有参数,除了标志.
例如,如果脚本接受如下输入:
./myBashScript.sh -flag1 exampleString1 exampleString2
我希望结果是“exampleString1_exampleString2”
我可以为预定义数量的输入(即2)执行此操作,但如何为任意数量的输入执行此操作?
@H_301_11@解决方法
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 "$@")"@H_301_11@ @H_301_11@ 原文链接:https://www.f2er.com/linux/396708.html