Re: BASH CSH
Dnia 16-12-2005, pią o godzinie 13:24 +0100, wmq@magma-net.pl
napisał(a):
> Ponieważ nie mogę tego zrobić w Bash'u więc powstała proteza:
>
> skrypt s1 :
> #!/bin/bash
>
> sleep 10
> echo "koniec s1"
> exit 0
>
> skrypt s2 :
> #!/bin/bash
>
> sleep 13
> echo "koniec s1"
> exit 0
>
> skrypt s0 :
> #!/bin/tcsh
>
> ./s1 &
> ./s2 &
>
> while ( 1 )
> jobs > ./logjobs
> set i = `( cat ./logjobs | wc -l )`
> if ( $i == 0 ) then
> echo "koniec s0"
> exit 0
> endif
> sleep 5
> end
>
> Polecenie jobs produkuje swoje wyjście do innego strumienia i
> jobs | wc -l nie zadziała; stąd pośrednictwo pliku.
>
> Chodzi o to by skrypt główny sprawował kontrolę nad swoimi zadaniami
> i podejmował odpowiednie działania.
> Może komuś uda się uruchomić to wszystko w Bash'u ?
nie wiem jak to wygląda na starszej wersji (jeśli masz starszą wersję),
ale u mnie na 3.0-17 chodzi wszystko:
#!/bin/bash
sleep 20 &
sleep 30 &
jobs
jak i przerobiony na bash-a drugi (aczkolwiek musiałem zmienić wyjście
jobs
#!/bin/bash
sleep 10 &
sleep 30 &
while /bin/true; do
jobs
i=`jobs 2>&1 | wc -l`
echo $i;
if [ $i -eq 0 ]; then
echo "koniec s0"
exit 0
fi
sleep 5
done
--
mirosław boruta
rlu: #344083
Reply to: