繁体   English   中英

在 Bash 中使用 Rscript function 时如何转义双引号

How to escape double quotes when using Rscript function in Bash

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

如何转义双引号以在命令行上运行此代码块? 有问题的代码部分是paste(': LaTeX Error, File', paste0("`", x. "',sty'"). 'not found.'))

Rscript \
  -e "biosketch_pkgs <- list('microtype', 'tabu', 'ulem', 'enumitem', 'titlesec')" \
  -e "lapply(biosketch_pkgs, function (x) {tinytex::parse_install(text=paste('! LaTeX Error: File', paste0("`", x, "'.sty'"), 'not found.'))})"

我试图使用下面的方法来转义双引号,但它unexpected EOF while looking for matching

Rscript \
  -e "biosketch_pkgs <- list('microtype', 'tabu', 'ulem', 'enumitem', 'titlesec')" \
  -e "lapply(biosketch_pkgs, function (x) {tinytex::parse_install(text=paste('! LaTeX Error: File', paste0("\`"\, x, "\'.sty'"\), 'not found.'))})"
1 个回复

与其担心如何转义特定的字符串,不如考虑以一种完全避免需要执行任何 escaping 的方式处理它们。 运行Rscript -告诉 Rscript 读取源代码以在 stdin 上运行,而<<'EOF'使直到下一行的所有内容仅包含EOF被馈送到 stdin。 (您可以将字符EOF替换为您选择的任何其他印记,但重要的是引用或转义此印记以指示 shell 不要以任何方式修改内容)。

Rscript - <<'EOF'
  biosketch_pkgs <- list('microtype', 'tabu', 'ulem', 'enumitem', 'titlesec')
  lapply(biosketch_pkgs, function (x) {
    tinytex::parse_install(text=paste('! LaTeX Error: File',
                                      paste0("`", x, "'.sty'"),
                                      'not found.'))
  })
EOF

但是,如果您确实有令人信服的理由使用Rscript -e ,那么正确的 escaping 将在反引号、双引号或其他对双引号字符串中的 shell 有意义的语法之前放置反斜杠,如下所示:

Rscript \
  -e "biosketch_pkgs <- list('microtype', 'tabu', 'ulem', 'enumitem', 'titlesec')" \
  -e "lapply(biosketch_pkgs, function (x) {tinytex::parse_install(text=paste('! LaTeX Error: File', paste0(\"\`\", x, \"'.sty'\"), 'not found.'))})"
1 在bash中使用printf在转义的'或'(单引号或双引号)中转义\\ e

我正在编写一个shell脚本,该脚本可以在每次获得一台新机器时完全按照自己的喜好设置osx机器。 我真正喜欢的一个命令行糖是“ 向上箭头bash历史记录搜索 ”。 正如Ask ubuntu帖子所说,添加以下行: 到我的~/.bashrc将为我完成此操作,但是,我想从我的脚本中自动执行 ...

2 Bash双引号转义和var

我需要使用JSON创建curl POST方法: 但是,读取请求的服务器会收到"Message=I NEED TO NOT INTERPRET THIS VAR " 。 我可以给谁做? ...

3 在bash脚本中使用双引号和单引号来调用程序

我有一个bash脚本,需要几个参数。 该脚本执行一些工作,然后使用这两个参数打开另一个程序。 要打开该程序,该命令需要同时使用单引号和双引号,如下所示: 但是我不知道如何在bash中做到这一点。 当我将其放入脚本时: $ 2变量不会扩展。 关于如何实现这一目标的任 ...

4 如何在 jenkins 内的 bash 中转义双引号?

赏金将在 7 天后到期。 此问题的答案有资格获得+150声望赏金。 Sriram Chowdary希望引起对这个问题的更多关注。 我有一个 Jenkins 步骤如下。 如何将命令kubectl get namespaces -o jsonpath='{range.items[*]}{.metad ...

2022-08-26 11:11:28 1 41   jenkins
5 使用jQuery转义双引号

我有scanerio,用户可以在其中使用搜索框搜索文本。因此,每当用户搜索词时,我的搜索条件就必须首先搜索所有匹配条件,然后是最低匹配条件,最后是单个匹配条件。 例如,如果用户搜索“设备事务失败”。 然后我们必须先显示三个匹配条件的单词,然后是最后两个单词,然后是最后两个单词。我有服务器端编 ...

6 在Javascript中使用单引号和双引号转义和转义字符串

我有一个搜索框,用户可以搜索任何字符串,包括单引号和双引号,一旦搜索到,后端将关键字传回给我,所以我可以把它放回到框中。 我不知道字符串是什么,所以我自己无法逃避引用,下面是一个例子: 我遇到的问题是,如果用户输入“hello”,关键字变为“”hello“”,我收到此错误: 用 ...

8 如何在bash中转义单引号和双引号

我有一个将文本作为参数并对其进行编码的脚本。 如果文本只包含单引号,我会用双引号将其括起来,反之亦然,但如果它同时包含这两个引号就会变得棘手,因为它会在第一次出现时关闭。 那么如何在不使用反斜杠的情况下转义这两种情况,例如在 python 中使用三重单引号或双引号。 ...

10 转义引号和双引号

如何在以下命令行中正确转义-param值中的引号? 这当然失败了。 我尝试使用转义字符 ` 来转义引号(单引号和双引号)并进行了各种组合,但没有任何效果。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM