带有参数流的 Bash 命令

带有参数流的 Bash 命令

我正在寻找一种仅通过一些语法糖来提供具有多个参数的 bash 命令的方法。我已经知道 $@ 和 $*,但我不知道如何正确使用它们。如果使用以下语法就​​好了:

define args
command &args

进一步的语法如下:

  1. 连续连接单个参数和流参数
define args_stream
command &args_stream arg_1
  1. 交替连接单个和流
define args_stream1
define args_stream2
command &args_stream arg_1 &args_stream2

这似乎是一种不好的做法,但我希望减少我的 shell 脚本的几行...:(

更新 例子:由于问题太广泛,读者无法理解其实际含义,我提供了一些例子:

  1. 我的printHeader功能有 7 个参数,但其中大多数可以参数化。一种选择是将我的变量设置为某个默认参数。但是,我必须以一种不寻常的形式对参数进行排序,将主要参数作为最右边的元素。另一种形式是按照我提到的方式编写参数:我想正确编写这些参数,流或数组,如下所示:
command $1 [$2.1 $2.2 $2.3] $3 
  1. 通过运行命令git --help,我收到以下日志:

usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

括号之间的参数是可选的,但可以用双连字符--表示法提供。这是我的参数流表示法的一个选项。

答案1

也许您正在谈论$1$2等等,将其放入脚本中,您可以这样说youtube-dl argument1 argument2

$ command argument1 argument2

其中$1$2代表这些论点。

或者,

还有其他方法可以做到这一点:

command="proot"
command+=" --link2symlink"
command+=" -0"
command+=" -r $folder"

作为例子。

由于我仍然不清楚这个问题,请提前告知我,以便我适当编辑或删除该答案。

相关内容