como parar em um ponto específico de uma lista

0

Eu criei um script de shell chamado blossom() porque o cachorro da minha namorada Floresce cocô e faz xixi no chão o tempo todo.

blossom() {
   echo poops and pees on floor all the time
}

Como sou um garoto curioso, quero pesquisar onde esse shell está armazenado e localizado em algum fórum que está dentro de declare -f . Então, quero encontrá-lo na saída, mas também lê-lo novamente.

Eu tive algumas ideias e tentei

declare -f | grep blossom

bem, isso só mostrou a linha de cima que foi blossom() {

Então eu pensei, hm ... vamos tentar

declare -f | less

mas ainda é muito para pesquisar ...

e

declare -f > test_file
nano test_file

bem, este resolve um pouco do que estou tentando fazer e eu posso usar ^ W para "Where at" e achar que não há problema. Mas isso cria um arquivo e eu não quero fazer isso.

Como posso, com um determinado conjunto de comandos, pré-pesquisar uma saída com rolagem para cima e para baixo. Talvez usando o comando less e tenha pré-pesquisado. Isso é possível?

    
por Michael Bruce 10.03.2015 / 21:42

1 resposta

1

Tente o seguinte para iniciar o less com blossom pesquisado:

declare -f | less -p blossom

Da documentação de less :

-ppattern or --pattern=pattern
    The -p option on the command line is  equivalent  to  specifying
    +/pattern;  that  is, it tells less to start at the first occur‐
    rence of pattern in the file.

Se a sua pergunta for menos geral do que isso e você quiser apenas a origem da função blossom , use o seguinte:

declare -f blossom
    
por 10.03.2015 / 21:51