Do bash (1):
ALIASES
[... ]The first word of each simple command, if unquoted, is checked to see if it has an alias[...] The characters [...] and any of the shell metacharacters or quoting characters listed above may not appear in an alias name.
Portanto, os aliases só podem ser uma única palavra sem caracteres de citação.
Usar -f
e -i
em uma chamada para rm também não faz muito sentido porque eles são um pouco contraditórios (rm (1)):
-f, --force ignore nonexistent files and arguments, never prompt
-i prompt before every removal
Mas aqui está a coisa boa - seu alias para rm
é realmente usado mesmo quando você está chamando rm -r
, porque a primeira palavra - rm
- tem um alias - rm -i
, então ele é substituído por isso!
$ alias rm
bash: alias: rm: not found
$ alias rm='rm -i'
$ mkdir test
$ rm -r test
rm: remove directory ‘test’?
/ edit:
Raphael Ahrens também mencionou nos comentários que usar -f
(force) não é necessário para remover diretórios (como já pode ser visto no meu exemplo), -r
(recursiva) é suficiente:
-r, -R, --recursive remove directories and their contents recursively