fix a few minor things -- thanks tfurrows

master
KatolaZ 6 years ago
parent 380c0ef20a
commit acd8a08910
  1. 21
      gophed

@ -22,27 +22,28 @@ usage() {
" $0 -h" \ " $0 -h" \
'' \ '' \
'In a gopher page, just type:' \ 'In a gopher page, just type:' \
" !./g %% LINE" \ " !./g % LINE" \
'to visit the resource at LINE, or:' \ 'to visit the resource at LINE, or:' \
" !./d %% LINE" \ " !./d % LINE" \
'to download the resource at LINE\n' 'to download the resource at LINE\n'
exit 0 exit 0
} }
trap cleanup INT QUIT HUP KILL ABRT TERM trap cleanup INT QUIT HUP KILL ABRT TERM
[ "$#" -lt 1 ] || [ "$1" = -h ] && usage [ "$#" -lt 1 ] || [ "$1" = "-h" ] && usage
if [ "$0" = gophed ] && [ "$1" = -i ]; then script_name="$(basename "$0")"
if [ "${script_name}" = "gophed" ] && [ "$1" = "-i" ]; then
ln -sf "$0" g ln -sf "$0" g
ln -sf "$0" d ln -sf "$0" d
ln -sf "$0" v ln -sf "$0" v
exit 0 exit 0
fi fi
script_name="$(basename "$0")"
if [ "$script_name" = gophed ] || [ "$script_name" = v ]; then if [ "$script_name" = "gophed" ] || [ "$script_name" = "v" ]; then
sel="$(printf '%s' "$1" | sed -r 's:/:+:g')" sel="$(printf '%s' "$1" | sed -r 's:/:+:g')"
TMPFILE="$(mktemp "/tmp/gophed_${2}_${sel}_$3.XXXXXXXXXXXXXXXXXXX")" TMPFILE="$(mktemp "/tmp/gophed_${2}_${sel}_$3.XXXXXXXXXXXXXXXXXXX")"
go "$1" "$2" "$3" > "$TMPFILE" go "$1" "$2" "$3" > "$TMPFILE"
@ -51,19 +52,19 @@ if [ "$script_name" = gophed ] || [ "$script_name" = v ]; then
exit 0 exit 0
fi fi
if [ "$script_name" = g ] || [ "$script_name" = d ]; then if [ "$script_name" = "g" ] || [ "$script_name" = "d" ]; then
LINE="$(awk "{if (NR == '$2') print '$0';}" "$1")" LINE=$(awk "{if (NR == $2) print \$0;}" $1)
RESOURCE="$(printf '%s' "$LINE" | cut -d ' ' -f 2)" RESOURCE="$(printf '%s' "$LINE" | cut -d ' ' -f 2)"
HOST="$(printf '%s' "$LINE" | cut -d ' ' -f 3)" HOST="$(printf '%s' "$LINE" | cut -d ' ' -f 3)"
PORT="$(printf '%s' "$LINE" | awk -F ' ' '{ match($4,/[[:digit:]]+/); print substr($4,RSTART,RLENGTH) }')" PORT="$(printf '%s' "$LINE" | awk -F ' ' '{ match($4,/[[:digit:]]+/); print substr($4,RSTART,RLENGTH) }')"
if [ "$script_name" = g ]; then if [ "$script_name" = "g" ]; then
SEL="$(printf '%s' "$RESOURCE" | sed -r 's:/:+:g')" SEL="$(printf '%s' "$RESOURCE" | sed -r 's:/:+:g')"
TMPFILE="$(mktemp "/tmp/gophed_${HOST}_${SEL}_$PORT.XXXXXXXXXXXXXXXXXXX")" TMPFILE="$(mktemp "/tmp/gophed_${HOST}_${SEL}_$PORT.XXXXXXXXXXXXXXXXXXX")"
go "$RESOURCE" "$HOST" "$PORT" > "$TMPFILE" go "$RESOURCE" "$HOST" "$PORT" > "$TMPFILE"
cat "$SHOW" - | ed -p "$PROMPT" "$TMPFILE" cat "$SHOW" - | ed -p "$PROMPT" "$TMPFILE"
fi fi
if [ "$script_name" = d ]; then if [ "$script_name" = "d" ]; then
DIR_RESOURCE="$(dirname "$RESOURCE")" DIR_RESOURCE="$(dirname "$RESOURCE")"
printf 'Download %s in %s\n' "$RESOURCE" "$HOST$RESOURCE" printf 'Download %s in %s\n' "$RESOURCE" "$HOST$RESOURCE"
mkdir -p "$HOST/$DIR_RESOURCE" mkdir -p "$HOST/$DIR_RESOURCE"

Loading…
Cancel
Save