linux – 在bash脚本中连接输入

前端之家收集整理的这篇文章主要介绍了linux – 在bash脚本中连接输入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Concatenate all arguments and wrap them with double quotes6个
我想连接传递给我的bash脚本的所有参数,除了标志.

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

  1. ./myBashScript.sh -flag1 exampleString1 exampleString2

我希望结果是“exampleString1_exampleString2”

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

解决方法

  1. function concatenate_args
  2. {
  3. string=""
  4. for a in "$@" # Loop over arguments
  5. do
  6. if [[ "${a:0:1}" != "-" ]] # Ignore flags (first character is -)
  7. then
  8. if [[ "$string" != "" ]]
  9. then
  10. string+="_" # Delimeter
  11. fi
  12. string+="$a"
  13. fi
  14. done
  15. echo "$string"
  16. }
  17.  
  18. # Usage:
  19. args="$(concatenate_args "$@")"

猜你在找的Linux相关文章