如何配置BASH使其调用时回显所有加载的源码(含主脚本)
让BASH回显所有加载的脚本源码的方法
要让BASH在执行脚本时回显所有加载的源码(包括主脚本本身和通过./source引入的脚本),有两种常用方法:
调用脚本时添加
-v参数
直接用以下命令执行脚本:bash -v x.sh这个参数会让BASH在读取每一行代码时,先把该行的原始内容打印出来,再执行。不管是主脚本里的行,还是引入的其他脚本里的行,都会被逐一回显,完全满足查看所有加载源码的需求。
在脚本内部开启/关闭回显
如果不需要全程回显,只想在某段代码里开启,可以在脚本中加入set -v命令开启回显,用set +v关闭:#! /bin/bash set -v # 从这里开始回显所有读取的源码行 . include/this/script.sh . include/this/other/script.sh foo="foo$bar" echo $foo set +v # 关闭回显注意这种方式不会回显
set -v之前的代码行(比如开头的#!/bin/bash)。
如果还想同时看到命令执行时的变量展开、参数替换结果,可以把-v和-x参数一起用:
bash -vx x.sh
这样既会打印原始源码行,又会显示实际执行的命令内容。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

