Linux 如何在BASH中开始从CGI下载?

Linux 如何在BASH中开始从CGI下载?,linux,bash,cgi,Linux,Bash,Cgi,我有这个CGI脚本,但是如何在浏览器中开始下载 #!/bin/bash echo "Content-Type: text/plain" echo CUR=$(ls -t /var/www/html/certs/*$AUTHENTICATE_UID* | head -1) if [ "$CUR" != "" ]; then # start download in the browser fi 通常,您会发出标题: 使用您的脚本,我会得到下载提示,但我下载的文件是空的。我还需要做些什么吗

我有这个CGI脚本,但是如何在浏览器中开始下载

#!/bin/bash

echo "Content-Type: text/plain"
echo

CUR=$(ls -t /var/www/html/certs/*$AUTHENTICATE_UID* | head -1)

if [ "$CUR" != "" ]; then

# start download in the browser

fi

通常,您会发出标题:


使用您的脚本,我会得到下载提示,但我下载的文件是空的。我还需要做些什么吗?是的,您需要在标题之后发送文件内容。实现这一点的方法取决于您从何处获取此内容,例如,如果您希望发送服务器上的静态文本文件,则简单的
cat
将完成此工作。不过要注意编码。是的,
cat
也适用于二进制文件。但是,如果要发送ZIP文件,可能不希望将其用作
text/plain
。我建议您改用
应用程序/zip
内容类型。请参阅。
echo "Content-Type: text/plain"

CUR=$(ls -t /var/www/html/certs/*$AUTHENTICATE_UID* | head -1)
if [ "$CUR" != "" ]; then
    echo 'Content-Disposition: attachment; filename="yourFile.txt"'
fi

echo  # End of headers.