Você não pode usar argumentos em um alias. (Você pode anexar itens depois, mas isso apenas complica essa situação). Veja a página do manual ( man bash
) diz sobre eles:
The first word of each simple command, if unquoted, is checked to see if it has an alias. If so, that word is replaced by the text of the alias. [...]
There is no mechanism for using arguments in the replacement text. If arguments are needed, a shell function should be used. [...]
For almost every purpose, aliases are superseded by shell functions.
Portanto, em vez de um alias, você deve usar uma função.
rp() { rename "s{$1}{}" *; } # No "{}" characters in the substitution
Uso
rp 'the.' # Quotes optional but recommended. Remember . represents any character