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)
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).