当前位置: 首页 > 知识库问答 >
问题:

如何在shell函数中转义引号?

杜轩昂
2023-03-14

这是Rakudo Star版本2019.03.1,基于MoarVM版本2019.03构建,实现Perl 6。d

Windows 10

示例:

1)错误:

shell 'mysqldump -uroot -ppassword asppmr > D:\b\29-09-2019 19-45-18\asppmr.sql';

mysqldump:[警告]在命令行界面上使用密码可能不安全。mysqldump:找不到表:“19-45-18\asppmr.sql”过程。新建(英寸=

2) 错误:

shell 'mysqldump -uroot -ppassword asppmr > "D:\b\29-09-2019 19-45-18\asppmr.sql"';

Синтаксическая ошибка в имени файла, имени папки или метке тома. 过程。新建(英寸=

3) 无错误(文件路径中没有空格时):

so shell 'mysqldump -uroot -ppassword asppmr > D:\b\asppmr.sql';

真的

4) 命令。exe无错误:

mysqldump -uroot -ppassword asppmr > "D:\b\29-09-2019 19-45-18\asppmr.sql"

5)perl 6无错误:

my $r = q:x/mysqldump -uroot -ppassword asppmr/;
spurt('D:\b\27-09-2019 18-29-12\asppmr.sql', $r);

6) perl 6无错误(如果文件路径中没有引号):

print 'mysql dump: ';
my $d = run 'C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump',
    '-uroot',
    '-ppassword',
    'asppmr',
    '--result-file=D:\b\29-09-2019 19-45-18\asppmr.sql',
    :err;

$d.err.slurp(:close); # skip show errors
say $d.exitcode == 0 ?? 'success!' !! 'error!';

mysql转储:成功!

解决方案:(感谢r4ch)

my $fpath = 'D:\b\29-09-2019 19-45-18\asppmr.sql';
$fpath.subst-mutate(' ', '^ ', :g) if $*DISTRO.is-win;
shell "mysqldump -uroot -ppassword asppmr > {$fpath}";

共有1个答案

姜弘新
2023-03-14

您可以按照“如何在windows run中转义文件路径中的空间”中的建议,尝试使用转义文件路径中的空间?

 类似资料:
  • 问题内容: 我需要改变,以与JSTL替换功能使用的字符串输入标签,如: 如果具有,则HTML将被破坏。 所以我尝试了 和 但是没有用。该页面出现如下错误 org.apache.el.parser.ParseException:在第1行第32列遇到““}”“}”“。期望以下其中之一:”。…“)” …“ [” …“,” …“>” …“ gt” …“ <” …“ lt” …“> =”。 ..“ ge”

  • 问题内容: 如何在MS SQL“包含”函数中转义双引号字符? 通常contains()期望双引号将一个精确的短语括起来以匹配,但是我想搜索一个实际的双引号字符。我尝试用\,`甚至另一个双引号将其转义,但是没有一个起作用。 PS我意识到也可以使用LIKE语句来完成类似这样的简单示例,但是我需要使用全文本搜索功能。出于示例目的,我在此处提供的查询已从我的实际查询中简化了。 问题答案: 从 文档 : 标

  • 问题内容: 我坚持这样: 我有一个写在HTML报告。的是 但是该链接不起作用,因为“ Evidencia”未包含在引号中,如何将引号放在参数中? 在带来这二零一三年十月一十日09:15:00.110 问题答案: 您可以使用。在Java中,您可以使用来访问转义字符。

  • 问题内容: 更新: 我想给这个问题一个更新的答案。首先,让我说一下您是否要完成下面的工作,我建议您改为通过添加事件侦听器来管理事件。我强烈建议您将jQuery用于您的项目,并使用其语法来管理事件监听器,而不是使用DOM。 题 好的,我基本上是这样做的: 我不希望在双引号(“)放在'处。我只希望使用单引号,所以我尝试不使它在使用时放入双引号。我试图在最终结果中实现。 转义对我不起作用。 问题答案:

  • 问题内容: 我正在尝试显示双引号,但它显示的是反斜杠之一: 在html中呈现时,显示为。正确的方法是什么? 问题答案: 试试这个: (在引号前只需一个反斜杠())。

  • 问题内容: 如何在包含单引号或双引号的MySQL中插入一个值。即 单引号会产生问题。可能还有其他转义字符。 如何正确插入数据? 问题答案: 简单地说: 因此,在字符串中,将每个单引号替换为两个。 要么: 转义=)