创建带有未知数量参数的bash别名

时间:2016-12-26 02:44:19

标签: bash

我想创建一个类似于:

的bash配置文件
$ga file_1 file_2 file_3 ... file_n

其中gagit add

这是一个例子,但问题在于论证数量的变化。

如何在Bash中创建别名或函数来执行此操作?

2 个答案:

答案 0 :(得分:2)

我不知道你的例子是否过于简单,因为在这种情况下你不需要制作你的别名"意识到"变化的参数数量.. alias ga =' git add' 然后 ga file1 file2 file3 实际上会按你的意愿工作。 shell将简单地将所有参数传递给别名。

答案 1 :(得分:1)

别名本身不处理参数。相反,在某些编程语言中将自己视为。当shell遇到一个别名命令时,它只是用定义替换该别名。

例如,如果你有

alias ga='git add'

然后,当Bash发现命令ga只是将其替换为git add时。您编写的所有参数都会按原样传递给git add

如果您需要对参数进行一些处理,或重新排序或替换或删除它们,则无法使用别名。相反,你必须使用功能

function ga() {
    # Call git add with reordered arguments
    git add $1 $3 $2
}

如需了解更多信息,请read the Bash manual page。如果你只是搜索一下,那么互联网上还有许多教程。