37 lines
813 B
Bash
Executable File
37 lines
813 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
|
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
|
cat <<EOF
|
|
Usage: $(basename "$0") [-h] [port]
|
|
|
|
Start a simple HTTP server in current directory.
|
|
|
|
Options:
|
|
-h, --help Show this help message
|
|
|
|
Arguments:
|
|
port Port number (default: 8888)
|
|
|
|
EOF
|
|
exit 0
|
|
fi
|
|
|
|
port="${1:-8888}"
|
|
|
|
if hash php 2>/dev/null; then
|
|
exec php -S "localhost:$port"
|
|
elif hash python3 2>/dev/null; then
|
|
exec python3 -m http.server "$port"
|
|
elif hash python 2>/dev/null; then
|
|
major_version="$(python -c 'import platform as p;print(p.python_version_tuple()[0])')"
|
|
if [[ "$major_version" == '3' ]]; then
|
|
exec python -m http.server "$port"
|
|
else
|
|
exec python -m SimpleHTTPServer "$port"
|
|
fi
|
|
else
|
|
echo 'unable to start HTTP server' 1>&2
|
|
exit 1
|
|
fi
|