如何为bash详细模式设置前缀

Ell*_*eal 4 bash shell

我正在使用详细模式编写脚本,但我想为命令输出设置一个前缀(主要是为了使输出看起来更好)。

例如,脚本:

#!/bin/bash -v

pwd
hostname
Run Code Online (Sandbox Code Playgroud)

这将给出输出:

pwd
/home/username
hostname
myawesomehost
Run Code Online (Sandbox Code Playgroud)

但我想要输出(特别是带有$符号):

$ pwd
/home/username
$ hostname
myawesomehost
Run Code Online (Sandbox Code Playgroud)

有没有办法为这样的详细输出设置前缀?

anu*_*ava 5

你可以用PS4set -x(启用跟踪):

#!/bin/bash

# prompt for trace commands
PS4='$ '

# enable trace
set -x

# remaining script
pwd
hostname
Run Code Online (Sandbox Code Playgroud)

这将产生如下输出:

$ pwd
/home/username
$ hostname
myawesomehost
Run Code Online (Sandbox Code Playgroud)