1281760Ssjgvar-1bs 2281760Ssjgprintf "%s=:%s:\n" VAR1BS 111\\111; printf "%s=:%s:\n" VAR1BSa 111\\aaa; printf "%s=:%s:\n" VAR1BSA 111\\aaa; printf "%s=:%s:\n" VAR1BSda 111\\\$\{a\}; printf "%s=:%s:\n" VAR1BSdA 111\\\$\{A\}; printf "%s=:%s:\n" VAR1BSc 111\#\ backslash\ escapes\ comment\ char,\ so\ this\ is\ part\ of\ the\ value; printf "%s=:%s:\n" VAR1BSsc 111\\\ ; 3281760SsjgVAR1BS=:111\111: 4281760SsjgVAR1BSa=:111\aaa: 5281760SsjgVAR1BSA=:111\aaa: 6281760SsjgVAR1BSda=:111\${a}: 7281760SsjgVAR1BSdA=:111\${A}: 8281760SsjgVAR1BSc=:111# backslash escapes comment char, so this is part of the value: 9281760SsjgVAR1BSsc=:111\ : 10281760Ssjgvar-2bs 11281760Ssjgprintf "%s=:%s:\n" VAR2BS 222\\\\222; printf "%s=:%s:\n" VAR2BSa 222\\\\aaa; printf "%s=:%s:\n" VAR2BSA 222\\\\aaa; printf "%s=:%s:\n" VAR2BSda 222\\\\\$\{a\}; printf "%s=:%s:\n" VAR2BSdA 222\\\\\$\{A\}; printf "%s=:%s:\n" VAR2BSc 222\\\\; printf "%s=:%s:\n" VAR2BSsc 222\\\\; 12281760SsjgVAR2BS=:222\\222: 13281760SsjgVAR2BSa=:222\\aaa: 14281760SsjgVAR2BSA=:222\\aaa: 15281760SsjgVAR2BSda=:222\\${a}: 16281760SsjgVAR2BSdA=:222\\${A}: 17281760SsjgVAR2BSc=:222\\: 18281760SsjgVAR2BSsc=:222\\: 19281760Ssjgvar-1bsnl 20281760Ssjgprintf "%s=:%s:\n" VAR1BSNL 111\ 111; printf "%s=:%s:\n" VAR1BSNLa 111\ aaa; printf "%s=:%s:\n" VAR1BSNLA 111\ aaa; printf "%s=:%s:\n" VAR1BSNLda 111\ \$\{a\}; printf "%s=:%s:\n" VAR1BSNLdA 111\ \$\{A\}; printf "%s=:%s:\n" VAR1BSNLc 111; printf "%s=:%s:\n" VAR1BSNLsc 111; 21281760SsjgVAR1BSNL=:111 111: 22281760SsjgVAR1BSNLa=:111 aaa: 23281760SsjgVAR1BSNLA=:111 aaa: 24281760SsjgVAR1BSNLda=:111 ${a}: 25281760SsjgVAR1BSNLdA=:111 ${A}: 26281760SsjgVAR1BSNLc=:111: 27281760SsjgVAR1BSNLsc=:111: 28281760Ssjgvar-2bsnl 29281760Ssjgprintf "%s=:%s:\n" VAR2BSNL 222\\\\; printf "%s=:%s:\n" VAR2BSNLa 222\\\\; printf "%s=:%s:\n" VAR2BSNLA 222\\\\; printf "%s=:%s:\n" VAR2BSNLda 222\\\\; printf "%s=:%s:\n" VAR2BSNLdA 222\\\\; printf "%s=:%s:\n" VAR2BSNLc 222\\\\; printf "%s=:%s:\n" VAR2BSNLsc 222\\\\; 30281760SsjgVAR2BSNL=:222\\: 31281760SsjgVAR2BSNLa=:222\\: 32281760SsjgVAR2BSNLA=:222\\: 33281760SsjgVAR2BSNLda=:222\\: 34281760SsjgVAR2BSNLdA=:222\\: 35281760SsjgVAR2BSNLc=:222\\: 36281760SsjgVAR2BSNLsc=:222\\: 37281760Ssjgvar-3bsnl 38281760Ssjgprintf "%s=:%s:\n" VAR3BSNL 333\\\\\ 333=; printf "%s=:%s:\n" VAR3BSNLa 333\\\\\ aaa=; printf "%s=:%s:\n" VAR3BSNLA 333\\\\\ aaa=; printf "%s=:%s:\n" VAR3BSNLda 333\\\\\ \$\{a\}=; printf "%s=:%s:\n" VAR3BSNLdA 333\\\\\ \$\{A\}=; printf "%s=:%s:\n" VAR3BSNLc 333\\\\; printf "%s=:%s:\n" VAR3BSNLsc 333\\\\; 39281760SsjgVAR3BSNL=:333\\ 333=: 40281760SsjgVAR3BSNLa=:333\\ aaa=: 41281760SsjgVAR3BSNLA=:333\\ aaa=: 42281760SsjgVAR3BSNLda=:333\\ ${a}=: 43281760SsjgVAR3BSNLdA=:333\\ ${A}=: 44281760SsjgVAR3BSNLc=:333\\: 45281760SsjgVAR3BSNLsc=:333\\: 46281760Ssjgvar-1bsnl-space 47281760Ssjgprintf "%s=:%s:\n" VAR1BSNL00 first\ line; printf "%s=:%s:\n" VAR1BSNL0 first\ line\ no\ space\ on\ second\ line; printf "%s=:%s:\n" VAR1BSNLs first\ line\ one\ space\ on\ second\ line; printf "%s=:%s:\n" VAR1BSNLss first\ line\ two\ spaces\ on\ second\ line; printf "%s=:%s:\n" VAR1BSNLt first\ line\ one\ tab\ on\ second\ line; printf "%s=:%s:\n" VAR1BSNLtt first\ line\ two\ tabs\ on\ second\ line; printf "%s=:%s:\n" VAR1BSNLxx first\ line\ many\ spaces\ and\ tabs\ \[\ \ \ \ \]\ on\ second\ line; 48281760SsjgVAR1BSNL00=:first line: 49281760SsjgVAR1BSNL0=:first line no space on second line: 50281760SsjgVAR1BSNLs=:first line one space on second line: 51281760SsjgVAR1BSNLss=:first line two spaces on second line: 52281760SsjgVAR1BSNLt=:first line one tab on second line: 53281760SsjgVAR1BSNLtt=:first line two tabs on second line: 54281760SsjgVAR1BSNLxx=:first line many spaces and tabs [ ] on second line: 55281760Ssjgcmd-1bsnl 56281760Ssjgecho :'first line\ 57281760Ssjg#second line without space\ 58281760Ssjgthird line': 59281760Ssjg:first line\ 60281760Ssjg#second line without space\ 61281760Ssjgthird line: 62281760Ssjgecho :'first line\ 63281760Ssjg second line spaces should be retained': 64281760Ssjg:first line\ 65281760Ssjg second line spaces should be retained: 66281760Ssjgecho :'first line\ 67281760Ssjgsecond line tab should be elided': 68281760Ssjg:first line\ 69281760Ssjgsecond line tab should be elided: 70281760Ssjgecho :'first line\ 71281760Ssjg only one tab should be elided, second tab remains' 72281760Ssjg:first line\ 73281760Ssjg only one tab should be elided, second tab remains 74281760Ssjgcmd-1bsnl-eof 75281760Ssjgecho :'command ending with backslash-newline'; \ 76281760Ssjg 77281760Ssjg:command ending with backslash-newline 78281760Ssjgcmd-2bsnl 79281760Ssjgecho take one\\ 80281760Ssjgtake one\ 81281760Ssjgecho take two\\ 82281760Ssjgtake two\ 83281760Ssjgecho take three\\ 84281760Ssjgtake three\ 85281760Ssjgcmd-3bsnl 86281760Ssjgecho :'first line\\\ 87281760Ssjg#second line without space\\\ 88281760Ssjgthird line': 89281760Ssjg:first line\\\ 90281760Ssjg#second line without space\\\ 91281760Ssjgthird line: 92281760Ssjgecho :'first line\\\ 93281760Ssjg second line spaces should be retained': 94281760Ssjg:first line\\\ 95281760Ssjg second line spaces should be retained: 96281760Ssjgecho :'first line\\\ 97281760Ssjgsecond line tab should be elided': 98281760Ssjg:first line\\\ 99281760Ssjgsecond line tab should be elided: 100281760Ssjgecho :'first line\\\ 101281760Ssjg only one tab should be elided, second tab remains' 102281760Ssjg:first line\\\ 103281760Ssjg only one tab should be elided, second tab remains 104281760Ssjgexit status 0 105