Rohini Palaniswamy edited comment on PIG-5362 at 10/10/18 10:17 PM:

echo $\\stuff becomes echo $stuff, but echo $\\\\stuff becomes $\\stuff. Does 
not sound right to me.Shouldn't $\\stuff become  $\stuff ?

was (Author: rohini):
{{echo $\\stuff}} becomes {{echo $stuff,}} but {{echo $\\\\stuff}} becomes 
{{$\\stuff}}. Does not sound right to me

> Parameter substitution of shell cmd results doesn't handle backslash  
> ---------------------------------------------------------------------
>                 Key: PIG-5362
>                 URL: https://issues.apache.org/jira/browse/PIG-5362
>             Project: Pig
>          Issue Type: Bug
>          Components: parser
>            Reporter: Will Lauer
>            Priority: Minor
>         Attachments: pig.patch, pig2.patch
> It looks like there is a bug in how parameter substitution is handled in 
> PreprocessorContext.java that causes parameter values that contain 
> backslashed to not be processed correctly, resulting in the backslashes being 
> lost. For example, if you had the following:
> {code:java}
> %DECLARE A `echo \$foo\\bar`
> B = LOAD $A 
> {code}
> You would expect the echo command to produce the output {{$foo\bar}} but the 
> actual value that gets substituted is {{\$foobar}}. This is happening because 
> the {{substitute}} method in PreprocessorContext.java uses a regular 
> expression replacement instead of a basic string substitution and $ and \ are 
> special characters. The code attempts to escape $, but does not escape 
> backslash.

This message was sent by Atlassian JIRA

Reply via email to