为何执行shell脚本的时候,会把脚本的内容都打印出来而且每行前边都加了‘+’?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为何执行shell脚本的时候,会把脚本的内容都打印出来而且每行前边都加了‘+’?相关的知识,希望对你有一定的参考价值。

并且进一层脚本是一个+,进两层是两个+。有遇到这种情况的么?没分…

很正常。用 sh -x test.sh 执行脚本就会这样,这是进入了调试模式,会打印每行被执行到的代码。
或者脚本里被加入了 set -x 和 set +x 调试开关。
参考技术A set -x了吧,set +x就行了 参考技术B 把你的脚本发上来看看

shell脚本调试打印日志问题

shell脚本调试打印日志问题

1. 需求

我们在编写脚本的时候,有时候需要做调试,便于我们定位问题,有时候等脚本上线之后,我们需要保留脚本执行过程中的记录。便于我们在出问题的时候,定位问题。

2. 如下脚本实现将脚本执行记录打印至日志文件

2.1脚本内容

[[email protected]@@@]# vi cat_test.sh

#!/bin/bash

####使用shell脚本的调试功能,将脚本执行过程中的内容打印至日志文件中

set -x -v

exec 1>./test.log 2>&1

who |wc –l

2.2日志文件内容

[[email protected]@@@]# cat test.log

+ who

+ wc -l

2

以上是关于为何执行shell脚本的时候,会把脚本的内容都打印出来而且每行前边都加了‘+’?的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统shell脚本之打印系统的IP信息

Linux系统shell工具打印输出

Shell执行将脚本里的变量打印到指定日志文件

shell脚本需要注意的一个问题

shell脚本获取参数&在线执行shell脚本

如何在shell脚本中修改添加替换指定文件中的内容