是否可以在所有终端输出前加上某个字符?

suh*_*doh 3 bash terminal rxvt

例如,假设我想运行命令 ll:

我的输出看起来像这样:

josh@zeitgeist ~ ll
total 41148
drwxr-xr-x 42 josh josh     4096 Aug  4 22:52 ./
drwxr-xr-x  4 root root     4096 Jul  9 21:18 ../
-rw-rw-r--  1 josh josh  3523718 Jul 11 00:17 2017-07-11-001710_3840x2160_scrot.png
Run Code Online (Sandbox Code Playgroud)

但我希望它看起来像这样:

josh@zeitgeist ~ ll
   total 41148
   drwxr-xr-x 42 josh josh     4096 Aug  4 22:52 ./
   drwxr-xr-x  4 root root     4096 Jul  9 21:18 ../
   -rw-rw-r--  1 josh josh  3523718 Jul 11 00:17 2017-07-11- 001710_3840x2160_scrot.png
Run Code Online (Sandbox Code Playgroud)

我已经知道使用 PS1='XXX' 来更改提示;有没有办法为每个命令更改显示的每一行输出,特别是在终端中(不更改输出并将其放入文件中)?

我想这样做是为了让我的终端左侧有一行字符缩进。我目前正在创建一个受科幻启发的桌面,我正在做的一件事是通过使用终端背景图像在我的无标题、无边界 urxvt 终端窗口周围创建一个独特的、不规则的边框。唯一的问题是我无法弄清楚如何在所有输出的开头添加间距,因为输出拥抱窗口的左边缘,它覆盖了我想要可见的背景的帕雷特。我尝试使用 URxvt internalBorder 和 externalBorder,但它们覆盖了终端底部和右侧边缘的背景图像。

ste*_*eve 5

这个怎么样。启动一个通过管道输入的 bash进程awk,其中通过管道输入的每一行都会在 $0(输入行)之前打印几个空格

$ bash | awk '{print "  " $0}'
$ id
  uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel)
$ uname -a
  Linux ip-172-31-37-61 4.9.38-16.33.amzn1.x86_64 #1 SMP Thu Jul 20 01:31:29 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$
Run Code Online (Sandbox Code Playgroud)