#!/bin/sh TEMP_DIR="$HOME/Public/share" PORT=8000 help() { printf "\033[2mUsage:\033[0m share [DIRECTORY/FILE]\n" exit 0 } error() { printf "\033[31mError:\033[0m %s\n" "$1" exit 1 } # If no location is given, print help and exit LOC="$1" ; [ -n "$LOC" ] || help # Look for ifconfig [ -e "/sbin/ifconfig" ] && CMD="/sbin/ifconfig" [ -e "$(which ifconfig)" ] && CMD="ifconfig" [ -n "$CMD" ] || error "ifconfig not found" # Use ifconfig to get ip address ADDR="$($CMD | grep -o '192\.168\.[0-9]*\.[0-9]*' | head -n 1)" # If location is directory, define DIR as location, # otherwise, define DIR as TEMP_DIR [ -d "$LOC" ] && DIR="$LOC" || DIR="$TEMP_DIR" # If file is inside TEMP_DIR, print error [ "$DIR" = "$TEMP_DIR" ] && readlink -f "$LOC" | grep -q "$TEMP_DIR" && error "File can't be inside $TEMP_DIR directory" # If using TEMP_DIR, create dir and move # files inside dir [ "$DIR" = "$TEMP_DIR" ] && rm -rf "$DIR" && mkdir -p "$TEMP_DIR" && cp -f "$LOC" "$DIR/" python -m http.server -b "$ADDR" "$PORT" -d "$DIR"