如何在 bash 脚本中考虑可变数量的额外参数?

如何在 bash 脚本中考虑可变数量的额外参数?

它的设置是$1程序将要执行的操作的标志,$2可以是用户名或其他任何内容。这很有效,除了一件事:我必须能够向用户添加评论,这会把事情搞砸,因为我不知道他们要输入多少个单词。我该如何解决这个问题?

答案1

一些建议:

  • 让用户将注释放在引号中,以便它成为一个参数:

    command arg1 "a long comment with many spaces" arg3
    
  • 将评论放在最后:

    如果用户调用command arg1 arg2 a long comment with many spaces then 您可以使用shift删除较早的参数,然后$*捕获所有剩余的参数:

    arg1="$1" #use a better name
    arg2="$2"
    shift
    shift
    comment="$*"
    

相关内容