From ac23e408760316fa5214799df71c96fa66b95ac5 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Tue, 13 Jul 2010 12:32:53 +0200 Subject: fb: make POSIX compatible Contributed-by: Moritz Wilhelmy Signed-off-by: Florian Pritz --- fb | 55 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/fb b/fb index f98ee07..aca94c8 100755 --- a/fb +++ b/fb @@ -1,6 +1,7 @@ -#!/bin/bash +#!/bin/sh #---------------------------------------------------- # Author: Florian "Bluewind" Pritz +# 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 <&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 -- cgit v1.2.3-24-g4f1b