[libvirt] [PATCH] [TCK] Convert scripts to also run with dash
Justin Clift
jclift at redhat.com
Mon Nov 15 19:29:15 UTC 2010
On 16/11/2010, at 6:08 AM, Stefan Berger wrote:
<snip>
>> Ah - the plot thickens, and the light bulb goes on for me. It's not
>> just a problem with read, but also with your use of 'echo' to try and
>> replay a just-read string. 'echo' and '\' don't mix. You have to use
>> printf for any chance of portability.
>>
>> printf %s\\n "\1"
>> printf %s\\n '\1'
> I am surprised that dash doesn't take the opportunity to already extend "\1" or '\1' to char(1) in these cases. A mystery... :-)
>
> I'll fix it. Thanks.
We seem to have recurring problems with finding portable commands, that work across everything.
Would use an alternative approach, such as having our own wrapper functions, be more reliable?
(conceptually like this)
function replace_stuff()
{
if "$SHELL" = "dash"
dash specific sed here
elsif "$SHELL = bash"
bash specific sed here
else
sh fallback sed here
fi
}
# main code
replace_stuff ("foo" "bar")
?
More information about the libvir-list
mailing list