Você está aninhando aspas simples entre aspas simples. Isso não funciona.
Tente usar "
aspas duplas "
na expressão interna.
Eu não sei exatamente o que estou fazendo de errado com este. Estou tentando executar o comando
alias localip='ip -4 -o addr show eth0 | egrep -o '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' | head -n 1'
Se eu executar o comando
ip -4 -o addr show eth0 | egrep -o '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' | head -n 1
Eu obtenho o resultado que espero, no entanto, ao tentar criar um alias com o comando, recebo
-bash: syntax error near unexpected token '('
Qualquer ajuda seria apreciada. TIA.
Eu encontrei uma solução muito mais limpa para criar uma função e nomear seu alias após a função, assim:
alias localip=GetLocalIP
function GetLocalIP()
{
ip -4 -o addr show eth0 | egrep -o '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' | head -n 1
}