Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
82,88 KB
Nội dung
Debugging LinuxTrainingAcademy.com What You Will Learn ● Built-in Bash Options for Debugging LinuxTrainingAcademy.com Why Debug? ● ● ● ● A bug is really an error Examine the inner workings of your script Determine the root of unexpected behavior Fix bugs (errors) LinuxTrainingAcademy.com Built in Debugging Help ● ● ● ● ● -x = Prints commands as they execute After substitutions and expansions Called an x-trace, tracing, or print debugging #!/bin/bash -x set -x ○ set +x to stop debugging LinuxTrainingAcademy.com #!/bin/bash -x TEST_VAR="test" echo "$TEST_VAR" + TEST_VAR=test + echo test test LinuxTrainingAcademy.com #!/bin/bash TEST_VAR="test" set -x echo $TEST_VAR set +x hostname + echo test test + set +x linuxsvr LinuxTrainingAcademy.com Built in Debugging Help ● ● -e = Exit on error Can be combined with other options ○ ○ ○ ○ #!/bin/bash -ex #!/bin/bash -xe #!/bin/bash -e -x #!/bin/bash -x -e LinuxTrainingAcademy.com #!/bin/bash -e FILE_NAME="/not/here" ls $FILE_NAME echo $FILE_NAME ls: cannot access /not/here: No such file or directory LinuxTrainingAcademy.com #!/bin/bash -ex FILE_NAME="/not/here" ls $FILE_NAME echo $FILE_NAME + FILE_NAME=/not/here + ls /not/here ls: cannot access /not/here: No such file or directory LinuxTrainingAcademy.com Built in Debugging Help ● ● -v = Prints shell input lines as they are read Can be combined with other options LinuxTrainingAcademy.com #!/bin/bash -v TEST_VAR="test" echo "$TEST_VAR" #!/bin/bash -v TEST_VAR="test" echo "$TEST_VAR" test LinuxTrainingAcademy.com #!/bin/bash -vx TEST_VAR="test" + TEST_VAR=test echo "$TEST_VAR" + echo test test LinuxTrainingAcademy.com For more information help set | less LinuxTrainingAcademy.com Summary ● ● ● ● Built-in Bash Options -x -e -v LinuxTrainingAcademy.com ... for Debugging LinuxTrainingAcademy.com Why Debug? ● ● ● ● A bug is really an error Examine the inner workings of your script Determine the root of unexpected behavior Fix bugs (errors) LinuxTrainingAcademy.com... Built in Debugging Help ● ● ● ● ● -x = Prints commands as they execute After substitutions and expansions Called an x-trace, tracing, or print debugging #!/bin/bash -x set -x ○ set +x to stop debugging. .. LinuxTrainingAcademy.com Built in Debugging Help ● ● -e = Exit on error Can be combined with other options ○ ○ ○ ○ #!/bin/bash -ex #!/bin/bash -xe #!/bin/bash -e -x #!/bin/bash -x -e LinuxTrainingAcademy.com