- Mastering Linux Shell Scripting
- Andrew Mallett
- 225字
- 2021-07-30 09:40:45
Debugging your scripts
With the scripts as simple as we have seen so far, there is little that can go wrong or debug. As the script grows and decision paths are included with conditional statements, we may need to use some level of debugging to analyze the scripts progress better.
Bash provides two options for us, -v
and -x
.
If we want to look at the verbose output from our script and the detailed information about the way the script is evaluated line by line, we can use the -v
option. This can be within the shebang but it is often easier to run the script directly with bash:
$ bash -v $HOME/bin/hello2.sh fred
This is especially useful in this example as we can see how each element of the embedded basename
command is processed. The first step is removing the quotes and then the parentheses. Take a look at the following output:

More commonly used is the -x
option, which displays the commands as they get executed. Its useful to know the decision branch that has been chosen by the script. The following shows this in use:
$ bash -x $HOME/bin/hello2.sh fred
We again see that the basename
is evaluated first, but we do not see the more detailed steps involved in running that command. The screenshot that follows captures the command and output:

- 基于粒計算模型的圖像處理
- Java范例大全
- Learning C# by Developing Games with Unity 2020
- Getting Started with ResearchKit
- React.js Essentials
- Processing互動編程藝術
- 實戰Java高并發程序設計(第3版)
- 算法訓練營:提高篇(全彩版)
- SharePoint Development with the SharePoint Framework
- Rust Essentials(Second Edition)
- Learning Python Design Patterns
- Jupyter數據科學實戰
- Unity 2017 Mobile Game Development
- Cybersecurity Attacks:Red Team Strategies
- 基于SpringBoot實現:Java分布式中間件開發入門與實戰