1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
8
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
11
TITLE="Advanced Bash-Scripting Guide"
12
HREF="index.html"><LINK
14
TITLE="Download and Mirror Sites"
15
HREF="mirrorsites.html"><LINK
18
HREF="copyright.html"><META
19
HTTP-EQUIV="Content-Style-Type"
20
CONTENT="text/css"><LINK
22
HREF="common/kde-common.css"
24
HTTP-EQUIV="Content-Type"
25
CONTENT="text/html; charset=iso-8859-1"><META
26
HTTP-EQUIV="Content-Language"
29
HREF="common/kde-localised.css"
31
TITLE="KDE-English"><LINK
33
HREF="common/kde-default.css"
35
TITLE="KDE-Default"></HEAD
43
STYLE="font-family: sans-serif;"
47
SUMMARY="Header navigation table"
56
>Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting</TH
64
HREF="mirrorsites.html"
93
>Appendix Q. To Do List</H1
97
>A comprehensive survey of <A
98
HREF="portabilityissues.html#BASHCOMPAT"
101
Bash and the classic <A
102
HREF="why-shell.html#BASHDEF"
109
>Same as above, but for the Korn shell
117
>A primer on CGI programming, using Bash.</P
119
>Here is a simple CGI script to get you started.</P
127
>Example Q-1. Print the server environment</B
136
CLASS="PROGRAMLISTING"
138
2 # May have to change the location for your site.
139
3 # (At the ISP's servers, Bash may not be in the usual place.)
140
4 # Other places: /usr/bin or /usr/local/bin
141
5 # Might even try it without any path in sha-bang.
144
8 # by Michael Zick
145
9 # Used with permission
148
12 # Disable filename globbing.
151
15 # Header tells browser what to expect.
152
16 echo Content-type: text/plain
155
19 echo CGI/1.0 test script report:
158
22 echo environment settings:
162
26 echo whereis bash?
167
31 echo who are we?
168
32 echo ${BASH_VERSINFO[*]}
171
35 echo argc is $#. argv is "$*".
174
38 # CGI/1.0 expected environment variables.
176
40 echo SERVER_SOFTWARE = $SERVER_SOFTWARE
177
41 echo SERVER_NAME = $SERVER_NAME
178
42 echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
179
43 echo SERVER_PROTOCOL = $SERVER_PROTOCOL
180
44 echo SERVER_PORT = $SERVER_PORT
181
45 echo REQUEST_METHOD = $REQUEST_METHOD
182
46 echo HTTP_ACCEPT = "$HTTP_ACCEPT"
183
47 echo PATH_INFO = "$PATH_INFO"
184
48 echo PATH_TRANSLATED = "$PATH_TRANSLATED"
185
49 echo SCRIPT_NAME = "$SCRIPT_NAME"
186
50 echo QUERY_STRING = "$QUERY_STRING"
187
51 echo REMOTE_HOST = $REMOTE_HOST
188
52 echo REMOTE_ADDR = $REMOTE_ADDR
189
53 echo REMOTE_USER = $REMOTE_USER
190
54 echo AUTH_TYPE = $AUTH_TYPE
191
55 echo CONTENT_TYPE = $CONTENT_TYPE
192
56 echo CONTENT_LENGTH = $CONTENT_LENGTH
196
60 # Here document to give short instructions.
197
61 :<<-'_test_CGI_'
199
63 1) Drop this in your http://domain.name/cgi-bin directory.
200
64 2) Then, open http://domain.name/cgi-bin/test-cgi.sh.
202
66 _test_CGI_</PRE
215
SUMMARY="Footer navigation table"
226
HREF="mirrorsites.html"
244
HREF="copyright.html"
254
>Download and Mirror Sites</TD
b'\\ No newline at end of file'