From d9d620f9809c8079d8c13ed4794a41f9f5857277 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 20 Jul 2012 05:46:58 +0200 Subject: fixing ponythink bug I introduced --- ponysay | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'ponysay') diff --git a/ponysay b/ponysay index 04ab745..10b031a 100755 --- a/ponysay +++ b/ponysay @@ -19,7 +19,14 @@ else cmd="$PONYSAY_COWSAY" customcmd=1 fi -[[ ${0} == *ponythink ]] && cmd=cowthink +[[ ${0} == *ponythink ]] && + if [[ "$PONYSAY_COWTHINK" = "" ]]; then + cmd=cowthink + customcmd=0 + else + cmd="$PONYSAY_COWTHINK" + customcmd=1 + fi version() { echo "ponysay v$version" @@ -73,7 +80,7 @@ _linklist() { scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` - perl '/dev/stdin' $(echo $args) < /dev/shm/.ponysay~ + perl '/dev/stdin' $(echo $args) < '/dev/shm/.ponysay~' #!/usr/bin/perl #Author: Mattias Andrée (maandree@kth.se) @@ -140,7 +147,8 @@ while (\$i < \$argc) } EOF - perl $listcmd $scrw $(cat /dev/shm/.ponysay~) | sed -e 's/_/ /g' | qlist + perl $listcmd $scrw $(cat "/dev/shm/.ponysay~") | sed -e 's/_/ /g' | qlist + rm '/dev/shm/.ponysay~' } linklist() { @@ -217,13 +225,22 @@ say() { if [[ $customcmd = 0 ]]; then function cowcmd { + echo "standrd $cmd" pcmd='#!/usr/bin/perl\nuse utf8;' ccmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [[ -f $c ]]; then echo $c; break; fi done) - perl <(cat <(echo -e $pcmd) $ccmd) "$@" + echo "is $cmd" + if [[ ${0} == *ponythink ]]; then + cat <(echo -e $pcmd) $ccmd > "/dev/shm/.ponythink" + perl '/dev/shm/.ponythink' "$@" + rm '/dev/shm/.ponythink' + else + perl <(cat <(echo -e $pcmd) $ccmd) "$@" + fi } else function cowcmd { + echo "custom $cmd" $cmd "$@" } fi -- cgit