Bash脚本:启用错误?
在我的Ubuntu引擎上设计了一个简单的基于shell/bash的备份脚本并使其正常工作后,我将它上传到我的Debian服务器,该服务器在执行它时会输出一些错误Bash脚本:启用错误?,bash,shell,ubuntu,debian,Bash,Shell,Ubuntu,Debian,在我的Ubuntu引擎上设计了一个简单的基于shell/bash的备份脚本并使其正常工作后,我将它上传到我的Debian服务器,该服务器在执行它时会输出一些错误 如何在我的Ubuntu机器中打开“错误处理”以使调试更容易?更改您的shebang行以包含跟踪选项: #!/bin/bash -x 您还可以让Bash在不运行文件的情况下扫描文件以查找错误: $ bash -n scriptname 更改shebang行以包含跟踪选项: #!/bin/bash -x 您还可以让Bash在不运行文件
如何在我的Ubuntu机器中打开“错误处理”以使调试更容易?更改您的shebang行以包含跟踪选项:
#!/bin/bash -x
您还可以让Bash在不运行文件的情况下扫描文件以查找错误:
$ bash -n scriptname
更改shebang行以包含跟踪选项:
#!/bin/bash -x
您还可以让Bash在不运行文件的情况下扫描文件以查找错误:
$ bash -n scriptname
- 将ssh插入服务器
- 手动使用
或-v
或两者都运行脚本-x
- 尝试在终端窗口中复制错误运行的用户、组和环境
如有必要,使用类似“su-c'sh-v script'otheruser”的命令运行程序
cron(8)
运行时)导入/bin/logger
,可能类似于:
sh -v -x badscript 2>&1 | /bin/logger -t badscript
然后查看/var/log/messages。- 将ssh插入服务器
- 手动使用
或-v
或两者都运行脚本-x
- 尝试在终端窗口中复制错误运行的用户、组和环境
如有必要,使用类似“su-c'sh-v script'otheruser”的命令运行程序
cron(8)
运行时)导入/bin/logger
,可能类似于:
sh -v -x badscript 2>&1 | /bin/logger -t badscript
然后查看/var/log/messages。Bash允许您使用
set
命令选择性地或完全地启用调试。下面是一篇关于如何调试bash脚本的文章
命令
set-x
将打开脚本中任何位置的调试。同样地,set+x
将再次关闭它。如果您只想查看部分脚本的调试输出,这将非常有用。Bash允许您使用set
命令有选择地或完全地启用调试。下面是一篇关于如何调试bash脚本的文章
命令
set-x
将打开脚本中任何位置的调试。同样地,set+x
将再次关闭它。如果您只想查看部分脚本的调试输出,这将非常有用。@Industrial:如果我知道具体的错误消息是什么,我会更有帮助。@Industrial:如果我知道具体的错误消息是什么,我会更有帮助。