Parece que você precisa de bash arrays
Para o seu propósito, você pode escrever um script como
#!/bin/bash
i=0
while read a[$i] b[$i]; do
echo ${a[$i]} # Print the current one a
echo ${b[$i]} # Print the current one b
i=$[ i+1 ] # Increment i
done < filename.txt
# do other stuffs... # if you want
echo "$[ $i -1 ] Items read " # The number of lines read
echo The second a was ${a[1]} # Array starts from 0
echo Those are all b ${b[*]} # You can print all together
- Depende do que você quer dizer com
global
. Infelizmente você não pode simplesmenteexport
deles fora do seu script. A partir doman bash
onbash 4.3.11(1)-release
você pode ler.Array variables may not (yet) be exported.
- Dentro do seu script você pode usar o array como variável normal. Em vez de
echo $a
, você deve se referir a eles com algo comoecho ${a[0]}
ouecho ${b[2]}
...
Note que você precisa colocar{}
para protegê-los.