Tirdīja jautājums. Šad tad aktuāls. Kāda atšķirība, ja komandas bash skriptos atdala ar ";" vai "&", vai "&&"?
- ;
- Atdala komandas un izpilda secīgi
- &
- Atdala komandas, bet izpilda paralēli
- &&
- Atdala komandas un izpilda secīgi, bet ja kāda nebeidzas ar 0, tad visa rinda tiek pārtraukta
Prakstiskā atšķirība.
Izveidojam failiņu "hmm.sh" ar saturu:
echo $1
exit $1
Izpildām komandas un skatāmies rezultātus:
$ ./hmm.sh 0 ; ./hmm.sh 1 ; ./hmm.sh 0
0
1
0
$ ./hmm.sh 0 & ./hmm.sh 1 & ./hmm.sh 0
[1] 22809
[2] 22810
0
1
0
[1]- Done ./hmm.sh 0
[2]+ Exit 1 ./hmm.sh 1
$ ./hmm.sh 0 && ./hmm.sh 1 && ./hmm.sh 0
0
1
Comments