A alteração de %*
para $*
corrigiu o problema.
Eu estou tentando pesquisar algumas funções em C para que eu possa depurar enquanto estiver usando strace. Então eu configurei uma função bash para procurar no firefox (ou links), mas a substituição se desfaz com :
e o escape não funciona, pelo menos não de uma forma simples.
ff() {
firefox "https://www.google.com/search?hl=en&q=%*"
}
cr() {
firefox "codewiki.wikidot.com/c:system-calls:%*"
}
O firefox recebe :
analisado como entrada, mas também $ * é analisado como caracteres literais.
1. Escaping : % *
2. Enclosing ${%*}
3. Changing " '
4. EnvVariable COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
Edit: Minha pergunta é falha. Meu código de trabalho tinha $*
o tempo todo. Desejo excluir minha pergunta, mas a deixo como referência para pessoas que podem ser incentivadas a escrever respostas e melhorar perguntas sobre problemas semelhantes.
A alteração de %*
para $*
corrigiu o problema.