Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Output not being echo'd in shell scripts.
- X-seq: zsh-users 10538
- From: zzapper <david@xxxxxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: Output not being echo'd in shell scripts.
- Date: Sun, 23 Jul 2006 10:38:11 +0000 (UTC)
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- Organization: SuccessTheory
- References: <96c45c490607162152k4d7d81b8x5d143c7b5c51d585@xxxxxxxxxxxxxx>
- Sender: news <news@xxxxxxxxxxxxx>
Sean <schliden@xxxxxxxxx> wrote in
news:96c45c490607162152k4d7d81b8x5d143c7b5c51d585@xxxxxxxxxxxxxx:
> 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
>
>
Hi Sean
I don't know if the following is relevant to your problem:-
Do you have the following option set?
setopt no_prompt_cr #needed for perl scripts
This is an old zsh chestnut where zsh does not output if there is no
trailing CRHTH
--
http://successtheory.com/tips/ Vim, Zsh, MySQL Tips
Messages sorted by:
Reverse Date,
Date,
Thread,
Author