Une étude complète des incompatibilités entre le shell Bash et le shell Bourne classique.
Identique à ci-dessus mais pour le shell Korn (ksh).
Une introduction à la programmation de CGI en utilisant Bash.
Voici un exemple de script CGI pour commencer.
Exemple P.1. Afficher l'environnement du serveur
#!/bin/bash
# Vous pourriez avoir à changer l'emplacement sur votre site
# (sur les serveurs des ISP, Bash pourrait ne pas être au même endroit).
# Autres emplacements : /usr/bin ou /usr/local/bin
# Pourrait même être testé sans sha-bang.
# test-cgi.sh
# par Michael Zick
# Utilisé avec sa permission
# Désactive la recherche de fichiers.
set -f
# Les en-têtes indiquent au navigateur quoi attendre.
echo Content-type: text/plain
echo
echo CGI/1.0 rapport du script de test :
echo
echo "configuration de l'environnement :"
set
echo
echo où se trouve bash ?
whereis bash
echo
echo qui sommes-nous ?
echo ${BASH_VERSINFO[*]}
echo
echo argc vaut $#. argv vaut "$*".
echo
# Variables d'environnement attendues avec CGI/1.0.
echo SERVER_SOFTWARE = $SERVER_SOFTWARE
echo SERVER_NAME = $SERVER_NAME
echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
echo SERVER_PROTOCOL = $SERVER_PROTOCOL
echo SERVER_PORT = $SERVER_PORT
echo REQUEST_METHOD = $REQUEST_METHOD
echo HTTP_ACCEPT = "$HTTP_ACCEPT"
echo PATH_INFO = "$PATH_INFO"
echo PATH_TRANSLATED = "$PATH_TRANSLATED"
echo SCRIPT_NAME = "$SCRIPT_NAME"
echo QUERY_STRING = "$QUERY_STRING"
echo REMOTE_HOST = $REMOTE_HOST
echo REMOTE_ADDR = $REMOTE_ADDR
echo REMOTE_USER = $REMOTE_USER
echo AUTH_TYPE = $AUTH_TYPE
echo CONTENT_TYPE = $CONTENT_TYPE
echo CONTENT_LENGTH = $CONTENT_LENGTH
exit 0
# Document en ligne donnant des instructions brèves.
:<<-'_test_CGI_'
1) Placez ce script dans le répertoire http://domain.name/cgi-bin.
2) Puis, ouvrez http://domain.name/cgi-bin/test-cgi.sh.
_test_CGI_
Des volontaires ?