【问题标题】:Preserve colors while piping setup script from CURL to BASH在将设置脚本从 CURL 管道传输到 BASH 时保留颜色
【发布时间】:2023-03-15 04:24:01
【问题描述】:

我目前正在使用curl -sSL http://goo.gl/DGs3Fv |bash 运行一个 vbox 配置程序,并注意到我在这样做时丢失了我的 tty 着色。有没有办法在不移植到变量中并在“事后”回显的情况下解决这个问题?

我已经尝试过Can colorized output be captured via shell redirect? 中的答案,但这似乎不适用于我的情况。谢谢。

快速示例

【问题讨论】:

  • 输出的哪一部分应该被着色?该脚本中某些命令的输出?
  • 没错。例如,如果 ./setup.sh 为 yum 安装、网络启动/关闭等进行着色,则运行该脚本。我希望能够看到它,就好像它是本机运行的一样。
  • 这几乎可以肯定是工具/脚本本身检测交互模式/连接的终端/等。他们正在运行的外壳。
  • 那么我会尝试在管道时设置 PS1 吗?
  • 您能否从链接到的答案中包含您尝试过的确切命令?

标签: linux bash shell curl piping


【解决方案1】:

您的发行版的初始化脚本似乎正在检查标准输入以确定是否将颜色输出到标准输出,如果是,那是他们方面的一个错误。

您链接的答案是正确的,您应该可以使用script 解决它:

curl -sSL http://goo.gl/DGs3Fv | script -c 'bash' -q /dev/null

虽然运行 script .. curl | bash 是行不通的,因为它是 bash 而不是 curl 你想愚弄。

【讨论】:

    猜你喜欢
    • 2023-01-11
    • 2011-11-30
    • 1970-01-01
    • 2017-01-07
    • 2011-01-20
    • 2012-10-28
    • 2013-05-23
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多