#!/usr/bin/env bash # Examples: # linx hello.txt # paste file (name/ext will be set). # echo Hello world. | linx # read from STDIN (won't set name/ext). # linx -n 1 self_destruct.txt # paste will be deleted after one read. # linx -i ID hello.txt # replace ID, if you have permission. # linx -d ID linx() { local opts local OPTIND [ -f "$HOME/.netrc" ] && opts='-n' while getopts ":hd:i:n:" x; do case $x in h) echo "linx [-d ID] [-i ID] [-n N] [opts]"; return;; d) $echo curl $opts -X DELETE linx.io/$OPTARG; return;; i) opts="$opts -X PUT"; local id="$OPTARG";; n) opts="$opts -F read:1=$OPTARG";; esac done shift $(($OPTIND - 1)) [ -t 0 ] && { local filename="$1" shift [ "$filename" ] && { curl $opts -T "$filename" $* https://armbian.lane-fu.com/linx/upload/ return } echo "^C to cancel, ^D to send." } curl $opts -T - https://armbian.lane-fu.com/linx/upload/ } linx $*