我在Perl中编写了一些代码,该代码在其执行过程中执行了一些bash命令。我的问题是bash命令属性包含空白,而bash命令执行失败。但是我设法使用了这些参数,只是在参数周围添加了引号。不幸的是,在测试过程中,我发现当\字符放在变量的末尾时,脚本会失败,这显然使bash执行引号转义,并使bash命令失败。例如:
\
my $arg1 = 'This is sample text which can be put into variable. And a random sign\\'; `echo "$arg1"`
是否有机会自动将变量中的特殊字符转义?
在bash中使用单引号要容易得多;那么您唯一需要担心的字符就是单引号本身。
($arbitrary_string) =~ s/'/'"'"'/g; `echo '$arbitrary_string'`