当前位置: 首页 > 面试题库 >

Perl转义参数以执行bash

彭华皓
2023-03-14
问题内容

我在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'`


 类似资料:
  • 问题内容: 我在用Java执行需要参数的批处理文件时遇到困难。这些参数可能包含空格,因此我需要将它们用引号引起来。对于Linux,我还将需要做同样的事情,因为某些参数可能包含特殊字符,例如。 非功能性Windows程式码: 非功能性Linux程式码: 我知道我应该像下面的Windows示例一样添加参数,但这不适用于空格: 应该怎么做? 问题答案: 视窗: Unix:

  • 我有一个执行系统命令的功能: 该命令通过: 预期产出: 实际产量:

  • 问题内容: 我们有一个Perl脚本,该脚本运行SQL并将数据放入表中。现在,我们不想传递一个SQL语句,而是希望传递一堆将它们放在一起的.sql文件中。我们知道我们的程序将失败,因为它期望一个SQL语句,而不是一堆SQL语句(也来自.sql文件)。我们如何使其与.sql文件(具有多个INSERT语句?)一起使用。我们正在使用DBI软件包。 一小段代码: 问题答案: 不确定您想要什么… 创建DBI对

  • 问题内容: 我正在寻找一个可以获取URL参数并支持此搜索字符串而不输出JavaScript错误的jQuery插件:“格式错误的URI序列”。如果没有支持此功能的jQuery插件,我需要知道如何对其进行修改以支持此功能。 解码时,URL参数的值应为: (字符是挪威语)。 我无权访问服务器,因此无法对其进行任何修改。 问题答案: 您不应该使用jQuery这样的东西! 现代的方式是通过像Bower这样的

  • 例如,我在语法中定义了几个lexer规则: 我需要以某种方式标记关键字(“int”、“float”和其他),当我使用TokenStream获取令牌时,我可以通过一些自定义符号对其进行过滤。 有可能吗? 现在我只看到一种方法——将必要的词汇组合成某种规则。 使现代化 我尝试应用下面第一个答案的第一个选项,但遇到了下一个问题:我得到一个错误:“TOKENNAME不是可识别的令牌名称” 因为这是一个问题