使用 bash CGI 在浏览器中保留行格式

Keep line formatting in browser with bash CGI

我正在使用这个 bash CGI:

#!/usr/bin/sh
echo "Content-type: text/html"
echo ""
echo `ls -al`

它产生即:

total 52 drwxrwxrwx. 2 root root 4096 Feb 2 18:34 . drwxr-xr-x. 8 root root 4096 Feb 2 17:58 .. -rw-r--r--. 1 root root 36310 Feb 2 17:45 dds.jpg -rw-rw-rw-. 1 user user 50 Feb 2 18:03 dds_panel.htm -rwxrwxrwx. 1 user user 460 Feb 2 18:34 test-cgi.cgi

在终端中,它们整齐地出现在一行中,但在浏览器中,它们全部出现在同一行中。保持格式的最佳方法是什么?

如果您不需要任何 html 格式,只需将内容类型更改为 text/plain

如果您需要 html 格式,您的输出应该包含一个完整的 html 页面。在这种情况下,用 <pre> 包围您的输出,用 <br> 替换换行符或将您的输出转换为列表或 table.