我有一个脚本,它接受一个命令并在远程主机上执行它。它工作正常,例如:
$ rexec "ant build_all"
将在远程系统上执行“ant build_all”命令(通过 SSH 等传递)。
因为我很懒,我想为这个命令(最终还有其他几个)设置一个别名,例如,我可以调用
$ rant build_all
并且 bash 会自动调用
$ rexec "ant build_all"
我尝试使用别名来执行此操作,但如果我定义
alias rant=rexec ant
那么传递给“rant”的任何参数都将被附加到末尾,如下所示:
$ rant build_all -Dtarget=Win32
(interpreted as:)
$ rexec "ant" build_all -Dtarget=Win32
这失败了,因为 rexec 实际上只接受一个参数,而忽略其他参数。
我可能可以使用 bash 包装脚本来执行此操作,但我想知道 bash 是否有任何内置函数可以为我执行此操作,可能是别名的命名参数版本,或者类似 perl 的引号字符串命令(例如 qw/ / ),或类似的。