O código a seguir tem $args
citado:
grep "$args" /path/to/logs/my.log
Isso pede para passar todo o valor dessa variável como um único
parâmetro para grep. Assim, se você chamar mygrep
com os parâmetros -i
e
-E
, grep
receberá, de fato, um único parâmetro -i -E
, que é
de fato inválido.
Os seguintes itens devem ser feitos:
function mygrep () {
grep "$@" /path/to/logs/my.log
}
Escrever "$@"
faz a coisa certa: é semelhante a $*
, exceto que
Ele expande adequadamente cada parâmetro para uma única palavra.