o seguinte irá carregar cada linha de /tmp/file
em uma matriz, então a linha 1
seria acessível através da variável ${array[0]}
e assim por diante.
#!/bin/bash
IFS=$'\n' array=($(cat /tmp/file))
O script deve ler a entrada de um arquivo (por exemplo, input.txt), armazenar cada linha (N número de linhas) de um arquivo em uma variável separada e usar cada variável exclusivamente em locais diferentes.
Por exemplo, um arquivo tem 4 linhas UMA B C D estes devem ser armazenados em 4 variáveis.
Como Kusalananda aponta, isso soa como um problema x-y.
Uma possível solução awk
para o seu problema seria:
awk 'BEGIN{ RS = ""; FS = "\n"}{print "First name:",$1,"Second name:",$2,"Org name",$3,"CN name:",$4}' input
Se você está usando variáveis de shell, eu acho que você precisa de algo assim:
#!/bin/bash
input=/path/to/input
mapfile -t array <"$input"
# If you don't have bash v3 use this instead of mapfile
# OLDIFS=$IFS
# IFS=$'\n'
# array=($(cat input))
# IFS=$OLDIFS
echo "First name: ${array[0]}, Second name: ${array[1]}, Org name: ${array[2]}, CN name: ${array[3]}"
Tags bash shell-script