Como usar o multi-threading no bash

0

Eu estou tentando colocar um loop while em background e incrementar o valor de count, mas o background while loop não recebe atualização da variável count.

#!/bin/bash
count=0
((count++))
echo " External $count"
while [ $count -ne 0 ]
do
    echo "Inside $count.. sleeping 5"
    sleep 5
done &
sleep 10
((count++))
echo " External $count"
sleep 20
((count--))
((count--))
wait

Saída:

 External 1
Inside 1.. sleeping 5
Inside 1.. sleeping 5
 External 2
Inside 1.. sleeping 5
Inside 1.. sleeping 5
Inside 1.. sleeping 5

Resultado esperado:

 External 1
Inside 1.. sleeping 5
Inside 1.. sleeping 5
 External 2
Inside 2.. sleeping 5
Inside 2.. sleeping 5
Inside 2.. sleeping 5
    
por Bharat 20.08.2018 / 18:32

0 respostas

Tags