Fix `copy_host_file` for files containing quotes (I hope)

`man printf` says \" is treated as a quote, but not \'. So
let's have the command use double quotes to wrap the format,
and escape any double quotes in the text. Hope this works.
This commit is contained in:
Adam Williamson 2017-01-15 10:52:14 -08:00
parent 3e44c7b99f
commit e848ce768e
1 changed files with 3 additions and 1 deletions

View File

@ -88,7 +88,9 @@ sub clone_host_file {
while (<$fh>) {
$text .= $_;
}
assert_script_run "printf '$text' > $file";
# escape any ' characters in the text...
$text =~ s/"/\\"/g;
assert_script_run "printf \"$text\" > $file";
# for debugging...
assert_script_run "cat $file";
}