19.11. Niestandardowe zachowanie instrukcji printf
Problem
Skrypt generuje wyniki w nieco inny sposób, niż się spodziewaliśmy. Rozważmy jako przykład poniższy skrypt i jego listing wynikowy:
$ bash dziwne.zachowanie poprawne pakiety: 0 błędne pakiety: 6 utracone pakiety: 0 POPRAWNE=6 BŁĘDNE=0 UTRACONE=0 $ cat dziwne.zachowanie #!/bin/bash - bledne=6 printf "poprawne pakiety: %d\n" $poprawne printf "błędne pakiety: %d\n" $bledne printf "utracone pakiety: %d\n" $utracone printf "POPRAWNE=%d BŁĘDNE=%d UTRACONE=%d\n" $poprawne $bledne $utracone
Dlaczego jako liczba poprawnych pakietów jest wyświetlana wartość 6
, chociaż powinna ona odpowiadać liczbie błędnych pakietów?
Rozwiązanie
Należy przypisać zmiennym wartości początkowe lub w instrukcjach printf ...
Get Bash. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.