【问题标题】:shiny display multiline text output from system call闪亮显示来自系统调用的多行文本输出
【发布时间】:2020-10-05 00:57:56
【问题描述】:

如何在闪亮的渲染对象中正确解释 bash 系统调用的换行符?

在我使用的 UI 中

textOutput("cmd_out")

在服务器中,由组装在初步对象“fullcmd”中的按钮和命令触发

cmdres <- eventReactive(input$runbtn, {
    res <- system(fullcmd(), intern=TRUE)
    })

output$cmd_out <- renderText({
    cmdres()
    })

但文本没有像在终端中那样在换行符处换行,我在无行中得到它

# ------------------------------------------------------------------------------ # Usage: script.sh -a ActionDemo -p var1=1 -p var2=azerty -p var3="'two words'" -p var4="'accepts (){}/\:;,-'" # ------------------------------------------------------------------------------ # opt_actparams is: var1=1 var2=azerty var3="two words" var4="accepts (){}/\:;,-" # var1 has value: 1 # var2 has value: azerty # var3 has value: "two words" # var4 has value: "accepts (){}/\:;,-" # ------------------------------------------------------------------------------ # # script version 1.0; 2020-09-11

而不是预期的:

# ------------------------------------------------------------------------------
# Usage: script.sh -a ActionDemo -p var1=1 -p var2=azerty -p var3="'two words'" -p var4="'accepts (){}/\:;,-'"
# ------------------------------------------------------------------------------
# opt_actparams is: var1=1 var2=azerty var3="two words" var4="accepts (){}/\:;,-"
# var1 has value: 1
# var2 has value: azerty
# var3 has value: "two words"
# var4 has value: "accepts (){}/\:;,-"
# ------------------------------------------------------------------------------
#
# script version 1.0; 2020-09-11

我也试过verbatimTextOutput、htmlOutput和renderUI,没有更好,总是一行

我应该用新的换行符替换当前的换行符(哪个?)?

谢谢!

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    您需要做的就是使用paste0(, collapse="\n"),因为system 的返回值是一个向量,其中每一行都是一个项目。 textOutput 用空格折叠矢量项,这将适用于 verbatimTextOutput

    cmdres <- eventReactive(input$runbtn, {
        res <- paste0(system(fullcmd(), intern=TRUE), collapse="\n")
        })
    

    【讨论】:

    • 非常感谢,Abdessabour Mtk 我没有注意到它变成了矢量 :-)
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2016-03-23
    • 2019-11-12
    • 1970-01-01
    • 2015-01-17
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多