**函数:**
1. **函数定义**:
使用 `function` 关键字或者直接写函数名来定义函数。
function my_function() { echo "函数内容" } my_function() { echo "函数内容" }
2. **函数调用**:
直接使用函数名来调用函数。
my_function
3. **函数参数**:
可以在函数中使用参数来传递值。
greet() { echo "Hello, $1" } greet "Alice"
4. **返回值**:
使用 `return` 语句来返回值给调用者。
calculate() { result=$((num1 + num2)) return $result } calculate echo "结果为: $?"
调试:**
1. **输出调试信息**:
使用 `echo` 输出调试信息,以便观察程序执行过程。
echo "正在执行..."
2. **设置调试模式**:
使用 `set -x` 开启调试模式,会输出每行执行的命令。
#!/bin/bash set -x echo "调试模式启动"
3. **调试时暂停**:
使用 `read` 命令来暂停脚本的执行,以便观察输出。
echo "执行到此暂停" read
4. **调试完成**:
使用 `set +x` 关闭调试模式。
set +x echo "调试模式关闭"
5. **脚本位置变量**:
使用 `$0` 获取脚本名,`$1`、`$2` 等获取参数。
echo "脚本名: $0" echo "第一个参数: $1"
6. **错误输出**:
使用 `2>` 将错误输出导向文件,以便查看错误信息。
./myscript.sh 2> error.log
7. **调试变量**:
使用 `set -x` 启用调试模式后,可以看到每行执行的命令及其参数的值。
set -x var="Hello" echo "变量值: $var" set +x
8. **调试特定部分**:
使用 `set -x` 和 `set +x` 来仅在需要的部分启用和关闭调试模式。
# 调试模式启用 set -x echo "这里启用了调试模式" set +x
9. **输出变量值**:
使用 `echo` 输出变量的值,以确保其在运行时正确。
echo "变量 var 的值为: $var"
10. **调试语句块**:
使用花括号 `{}` 将需要调试的代码块括起来。
{ set -x # 需要调试的代码 set +x }
11. **调试工具**:
使用工具如 `bash -x script.sh` 或者调试器 `bashdb` 进行更高级的调试。
12. **调试器工具**:
使用工具如 `bashdb` 来进行更高级的脚本调试,支持断点等功能。
13. **错误处理**:
使用 `set -e` 开启错误终止模式,一旦发生错误脚本会终止执行。
set -e echo "这里是一行错误的命令" echo "这行不会执行"
14. **忽略错误**:
使用 `command || true` 来执行命令,即使发生错误也不会终止脚本。
command_that_might_fail || true
15. **查找问题**:
使用 `echo`、`printf` 或者 `read` 来输出中间结果,帮助定位问题。
echo "正在执行到这里"
16. **调试环境**:
在测试环境中进行调试,避免在生产环境直接应用可能存在问题的脚本。
标签:shell,函数,使用,echo,set,调试模式,linux,调试 From: https://www.cnblogs.com/yund/p/17644059.html