在保留换行符的同时回音ps?

Tyi*_*ilo 10 bash newline process ps

如果我ps ax在终端中,结果将是这样的:

  PID   TT  STAT      TIME COMMAND
    1   ??  Ss     2:23.26 /sbin/launchd
   10   ??  Ss     0:08.34 /usr/libexec/kextd
   11   ??  Ss     0:48.72 /usr/sbin/DirectoryService
   12   ??  Ss     0:26.93 /usr/sbin/notifyd
Run Code Online (Sandbox Code Playgroud)

如果我这样做echo $(ps ax),我得到:

PID TT STAT TIME COMMAND 1 ?? Ss 2:23.42 /sbin/launchd 10 ?? Ss 0:08.34 /usr/libexec/kextd 11 ?? Ss 0:48.72 /usr/sbin/DirectoryService 12 ?? Ss 0:26.93 /usr/sbin/notifyd
Run Code Online (Sandbox Code Playgroud)

为什么?

如何保留换行符和制表符?

Ign*_*ams 33

与以往一样:使用引号.

echo "$(ps ax)"
Run Code Online (Sandbox Code Playgroud)


小智 6

只需在正在回声的变量中使用双引号

echo "$(ps ax)"
Run Code Online (Sandbox Code Playgroud)

没有所有额外的垃圾编码或麻烦,这将做到这一点.

编辑:呃......有人打败了我!大声笑