Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Output not being echo'd in shell scripts.



I am having problems running a simple shell script: todo.sh [todotxt.com]

I am running the windows port of zsh (ver 3.0.5) supplied with unixkit-tiny.

The problem is simply that commands that work when entered directly at
the prompt do not seem to work when run in a shell script.

I have tested the script by running each line in the shell and I
believe the problem is related to the echo command.

For instance, the command:

"todo.sh list" should list all items in the todo.txt file but instead
returns this:

--
TODO:  tasks in /unixkit/todo/todo.txt.


If I execute the appropriate commands directly in the shell like this:

echo -e "`sed = "/unixkit/todo/todo.txt" | sed 'N; s/^/  /; s/
*\(.\{2,\}\)\n/\1 /' | sed 's/^ /0/' | sort -k2 | sed
's/\(.*(A).*\)/'$PRI_A'\1'$DEFAULT'/g' | sed
's/\(.*(B).*\)/'$PRI_B'\1'$'/g' | sed 's/\(.*(C).* \)/'$PRI_C'\1'$'/g'
| sed 's/\(.*([A-Z]).*\)/'$PRI_X'\1'$DEFAULT'/g'`"

I get the appropriate result:

01 Compile list of items to sell p:garage_cleanup @home

If I add -x to the shebang, I get the following:
____

+ action=list
+ item=
+ '[' -z '' ']'
++ sed = /unixkit/todo/todo.txt
++ sed 'N; s/^/  /; s/ *\(.\{2,\}\)\n/\1 /'
++ sed 's/^ /0/'
++ sort -k2
++ sed 's/\(.*(A).*\)/\\033[1;33m\1\\033[0m/g'
++ sed 's/\(.*(B).*\)/\\033[0;32m\1/g'
++ sed 's/\(.*(C).* \)/\\033[1;34m\1/g'
++ sed 's/\(.*([A-Z]).*\)/\\033[1;37m\1\\033[0m/g'
+ echo -e ''

+ echo --
--
++ wc -l /unixkit/todo/todo.txt
++ sed 's/^[[:space:]]*\([0-9]*\).*/\1/'
+ NUMTASKS=
+ echo 'TODO:  tasks in /unixkit/todo/todo.txt.'
TODO:  tasks in /unixkit/todo/todo.txt.
+ cleanup
+ '[' -f /unixkit/todo/todo.tmp ']'
+ rm /unixkit/todo/todo.tmp
+ exit 0
____

Anyway, I was hoping that it is somthing simple that I am doing wrong
/ need to configure in the zsh environment.

TIA

Sean



Messages sorted by: Reverse Date, Date, Thread, Author