csh and echo
    Polytropon 
    freebsd at edvax.de
       
    Thu May 29 16:39:51 UTC 2014
    
    
  
On Thu, 29 May 2014 12:02:35 -0400, Andre Goree wrote:
> I'm writing a script within which I need to have encrypted passwords 
> passed to 'pw mod user'.  My issue is that csh does not seem to escape 
> the the "$" correctly and thus I receive an "Undefined variable" error 
> message.
The csh does exactly what it should to. Use '...' instead of "..."
to avoid evaluations within a string, for example:
	% echo '$1$rVxldcGZ$CisrIAX4SBYUkMJt9KjXl0'
	$1$rVxldcGZ$CisrIAX4SBYUkMJt9KjXl0
> Bash does not seem to have this same issue:
> 
> root at fbsdtest13:~ # echo "$1$rVxldcGZ$CisrIAX4SBYUkMJt9KjXl0"
> rVxldcGZ: Undefined variable.
> root at fbsdtest13:~ # bash
> [root at fbsdtest13 ~]# echo "$1$rVxldcGZ$CisrIAX4SBYUkMJt9KjXl0"
It's not an issue, it's intended. Strings enclosed in "..." are
allowed to contain variables, whereas strings enclosed in '...'
are being processed without expansion.
	$ echo '$1$rVxldcGZ$CisrIAX4SBYUkMJt9KjXl0'
	$1$rVxldcGZ$CisrIAX4SBYUkMJt9KjXl0
I'm sure this is mentioned somewhere in "man bash", as well as
in "man csh" regarding the C Shell. :-)
-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
    
    
More information about the freebsd-questions
mailing list