Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Output not being echo'd in shell scripts.
- X-seq: zsh-users 10525
- From: Sean <schliden@xxxxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Output not being echo'd in shell scripts.
- Date: Mon, 17 Jul 2006 14:52:45 +1000
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=WeSS13zz7Jdadt2m4wcdEzNWtWAsEVnJwzbc4EEOfCpTzysa9as9eUTGWX8XSCfDoLAzYaZW6wWWP5W6fjbT9OBpI3p3I/HxXlt+klrK7mu2YP5PauifwiqjfheIktWMen9INLv1HIjczMcfabVk2IXFnFNcDw7AvGJ2zxxdCCo=
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
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