csh script help

Stefan Esser se at freebsd.org
Fri Apr 14 14:08:43 UTC 2017


Am 14.04.17 um 15:47 schrieb Ernie Luzar:
> To aid in debugging the script I'm writing, I place "echo" commands
> throughout so I can kind of have a trace of the logic as different
> conditions are processed. Normally I just delete these "echo" commands
> after I get the script working.
> 
> But this time I want to try something different. I want to
> enable/disable the echo commands in mass. So in the beginning of the
> script I added these 2 lints.
> 
> #trace=""  # use to enable trace echo
> trace="#"  # use to disable trace echo
> 
> In front of each of the echo commands I added this,
>  $trace echo "what ever."
> 
> When I exec the script I get error message  #: not found

This is to be expected ;-)

> What is happing here? Is the substitution to late?

No.

> Is there a way to fix this?

Use ":" instead of "#" to insert a "null command" before the echo:

% set trace=""
% $trace echo Hello
Hello
% set trace=":"
% $trace echo Hello
%

Regards, STefan


More information about the freebsd-current mailing list