summaryrefslogtreecommitdiffstats
path: root/fb
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xssn.at>2010-07-13 12:32:53 +0200
committerFlorian Pritz <bluewind@xssn.at>2010-07-13 12:32:53 +0200
commitac23e408760316fa5214799df71c96fa66b95ac5 (patch)
tree5f002cfb6fa0eb12314b2ef2053c96d5f05ae7ec /fb
parentc0b410483c5cb6ba80464e12177267f37bb82f31 (diff)
downloadbin-ac23e408760316fa5214799df71c96fa66b95ac5.tar.gz
bin-ac23e408760316fa5214799df71c96fa66b95ac5.tar.xz
fb: make POSIX compatible
Contributed-by: Moritz Wilhelmy Signed-off-by: Florian Pritz <bluewind@xssn.at>
Diffstat (limited to 'fb')
-rwxr-xr-xfb55
1 files 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 <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