Shell existe uma maneira de usar pipes para nomear uma variável?

0

Digamos que eu tenha um arquivo de texto com três linhas. É chamado de

1
2
3

Existe uma maneira de tornar isso possível:

$ x='cat a | head -1'
    
por dobby 27.01.2018 / 05:11

1 resposta

2

O que você está tentando fazer é chamado substituição de comando , que coloca a saída de um comando no comando linha de outro. por exemplo. para fornecer argumentos para o outro comando ou para atribuir a saída a uma variável.

Você quase teve a sintaxe correta. Você precisa usar $() em torno do seu comando. por exemplo,

x=$(cat a | head -1) ou, como o gato é desnecessário, x=$(head -1 a)

Os

backticks (') também podem ser usados, mas são considerados obsoletos, pois têm vários problemas (incluindo a incapacidade de encaixá-los e a dificuldade de distingui-los daspas simples).

    
por 27.01.2018 / 06:07

Tags