Tentando alias um longo comando só me dá uma partion dele

2

Eu tenho o seguinte comando que funciona:

ls -la | awk '$5 > 2'

Estou tentando alias a coisa toda. Se eu tentar de uma maneira ingênua:

alias ll "ls -la | awk '$5 > 2'"

Não funciona.

Se eu tentar escapar do cifrão, obtenho apenas uma parte do comando e ll é agora ls -la | awk $5

O que devo fazer para definir esse alias da maneira que quero que seja?

    
por PanthersFan92 25.08.2016 / 16:52

2 respostas

1

Use apenas uma função de shell se seu alias for mais complicado que um comando simples:

lz () {
    ls -la | awk '$5 > 2'
}

... ou encontre um comando mais simples e adequado como um alias:

alias lz='find . -maxdepth 1 -size +2c -ls'

O manual bash contém a declaração

For almost every purpose, aliases are superseded by shell functions.

Relacionados: Por que * não * analisar 'ls'?

    
por 12.09.2017 / 21:08
0

escape, igual

$ alias ll="ls -la | awk '\ > 2'"
$ alias|grep ll                                       
ll='ls -la | awk '\''$5 > 2'\'
    
por 25.08.2016 / 16:59