diff options
author | Florian Pritz <bluewind@xssn.at> | 2010-07-13 12:32:53 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xssn.at> | 2010-07-13 12:32:53 +0200 |
commit | ac23e408760316fa5214799df71c96fa66b95ac5 (patch) | |
tree | 5f002cfb6fa0eb12314b2ef2053c96d5f05ae7ec | |
parent | c0b410483c5cb6ba80464e12177267f37bb82f31 (diff) | |
download | bin-ac23e408760316fa5214799df71c96fa66b95ac5.tar.gz bin-ac23e408760316fa5214799df71c96fa66b95ac5.tar.xz |
fb: make POSIX compatible
Contributed-by: Moritz Wilhelmy
Signed-off-by: Florian Pritz <bluewind@xssn.at>
-rwxr-xr-x | fb | 55 |
1 files changed, 30 insertions, 25 deletions
@@ -1,6 +1,7 @@ -#!/bin/bash +#!/bin/sh #---------------------------------------------------- # Author: Florian "Bluewind" Pritz <flo@xssn.at> +# Contributor: Moritz Wilhelmy # # Licensed under WTFPL v2 # (see COPYING for full license text) @@ -10,24 +11,24 @@ # Optional: xclip #---------------------------------------------------- -VERSION="0.6.3.2" +VERSION="0.6.4" -DELETE=0 +DELETE= EXTENSION="" -GET=0 +GET= PASTEBIN="http://paste.xinu.at" USERAGENT="fb-client/$VERSION" CLIPBOARD="" do_upload() { local EXTRA="" - if [[ -n $EXTENSION ]]; then + if [ "$EXTENSION" ]; then EXTRA="-F extension=$EXTENSION" fi - TMPFILE=$(mktemp "$TMPDIR/data.XXXXXX") + TMPFILE=`mktemp "$TMPDIR/data.XXXXXX"` curl -# -n -L -A $USERAGENT $EXTRA -F "file=@$1" "$PASTEBIN/file/do_upload" > $TMPFILE sed '$d' $TMPFILE >&2 - URL=$(tail -1 $TMPFILE) + URL=`tail -1 $TMPFILE` echo $URL CLIPBOARD="$CLIPBOARD $URL" } @@ -40,7 +41,7 @@ read_stdin() { } help() { - cat <<EOF + cat <<! fb-client version $VERSION usage: [cat |] `basename "$0"` [switches] [file(s)|ID(s)] @@ -52,36 +53,40 @@ usage: [cat |] `basename "$0"` [switches] [file(s)|ID(s)] -d delete the IDs -g download the IDs and output on stdout (use with care!) -h this help -EOF - exit 0 +! } -while getopts ":e:gdh" OPTION; do +if ! set -- `getopt ":e:gdh" "$@"`; then + help + exit 1 +fi + +for OPTION; do case $OPTION in - e) EXTENSION="$OPTARG";; - g) GET=1;; - d) DELETE=1;; - h) help;; - \?) echo "unknown option \"-$OPTARG\"" >&2; exit 1;; - :) echo "Option \"-$OPTARG\" needs an argument" >&2; exit 1;; + -e) shift; EXTENSION="$1";; + -g) GET=1;; + -d) DELETE=1;; + -h) help; exit 0;; + --) break;; esac + shift done -shift $((OPTIND - 1)) +shift -TMPDIR="$(mktemp -d "/tmp/fb.XXXXXX")" +TMPDIR="`mktemp -d "/tmp/fb.XXXXXX"`" trap "rm -rf '${TMPDIR}'" EXIT TERM -if (($# == 0)); then +if [ $# -eq 0 ]; then read_stdin "$TMPDIR/stdin" do_upload "$TMPDIR/stdin" else - for i in "$@"; do - if [[ $DELETE == 1 ]]; then + for i; do + if [ "$DELETE" ]; then curl -n -L -A $USERAGENT "$PASTEBIN/file/delete/$i" - elif [[ $GET == 1 ]]; then + elif [ "$GET" ]; then curl -s -o - -A $USERAGENT "$PASTEBIN/$i" - elif grep -qE "^(f|ht)tp(s)?://.+" <<< "$i"; then + elif echo "$i" | grep -qE "^(f|ht)tp(s)?://.+"; then cd $TMPDIR curl -# -A $USERAGENT -O "$i" for f in *; do @@ -93,4 +98,4 @@ else done fi -echo -n $CLIPBOARD | nohup &> /dev/null xclip || true +[ "`which xclip 2>/dev/null`" ] && echo -n $CLIPBOARD | nohup xclip >/dev/null 2>&1 |