searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

linux shell 脚本调试技巧

2023-08-09 02:35:33
126
0

1.  bash -x 加脚本

这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令。

a. 查看脚本流程有无错误

b.查看变量值有无错误

c.查看退出位置是否符合预期

例如脚本 small_test.sh 

#!/bin/bash


echo 1
echo 2
echo 3

shell中执行   

bash -x small_test.sh

执行效果,会打印出,每一行代码的执行细节,类似于gdb的调试。

 

[root@localhost ~]# bash -x small_test.sh 
+ echo 1
1
+ echo 2
2
+ echo 3
3

 

2. bash一但有任何一个语句返回非真的值,则退出bash

set -o errexit

或者写作

set -e 

使用用方法,直接在脚本中写入

#!/bin/bash
#开启检查
set -e
#如果cd失败,脚本会退出
cd /dir1
ls -l 
#关闭检查
set +e

当cd到某个目录删除文件时,能防止cd失败后,误删除。


3. 使用未初始化的变量时,让bash自动退出

set -o nounset

或者写作

set -u    

使用方法与set -e类似。

 

以上就是shell调试的一些技巧。

 

0条评论
0 / 1000
g****n
5文章数
0粉丝数
g****n
5 文章 | 0 粉丝
原创

linux shell 脚本调试技巧

2023-08-09 02:35:33
126
0

1.  bash -x 加脚本

这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令。

a. 查看脚本流程有无错误

b.查看变量值有无错误

c.查看退出位置是否符合预期

例如脚本 small_test.sh 

#!/bin/bash


echo 1
echo 2
echo 3

shell中执行   

bash -x small_test.sh

执行效果,会打印出,每一行代码的执行细节,类似于gdb的调试。

 

[root@localhost ~]# bash -x small_test.sh 
+ echo 1
1
+ echo 2
2
+ echo 3
3

 

2. bash一但有任何一个语句返回非真的值,则退出bash

set -o errexit

或者写作

set -e 

使用用方法,直接在脚本中写入

#!/bin/bash
#开启检查
set -e
#如果cd失败,脚本会退出
cd /dir1
ls -l 
#关闭检查
set +e

当cd到某个目录删除文件时,能防止cd失败后,误删除。


3. 使用未初始化的变量时,让bash自动退出

set -o nounset

或者写作

set -u    

使用方法与set -e类似。

 

以上就是shell调试的一些技巧。

 

文章来自个人专栏
shell
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
0