当使用-T运行docker compose时,终端输出中断



我有一个脚本,用于在一些docker compose容器上启动命令。

脚本运行docker-compose exec -T {container} {command}

我必须使用-T(禁用伪TTY分配。默认情况下,docker compose-exec分配TTY(选项,因为否则我的预调试挂钩(也运行此脚本(会出现panic: provided file is not a console错误。

然而,当我在自己的终端上运行脚本时,我会得到一个损坏的输出,看起来像这样:

run v1.22.10
$ vite build
vite v2.7.13 building for production...
transforming...
        ✓ 378 modules transformed.
                                  rendering chunks...
                                                     public/front/assets/Inter-Thin.77d96c1c.woff2                   97.30 KiB
                                                                                                                              public/front/assets/Inter-ExtraLight.b6cd094a.woff2             101.79 KiB
                                                                                                                                                                                                        public/front/assets/Inter-ThinItalic.d82beee8.woff2             104.00 KiB
public/front/assets/Inter-ExtraLightItalic.db229bf3.woff2       108.78 KiB
                                      public/front/assets/Inter-Light.36b86832.woff2                  101.89 KiB
                                                                                                                public/front/assets/Inter-LightItalic.737ac201.woff2            108.72 KiB
                                                                                                                                                                                          public/front/assets/Inter-Regular.d612f121.woff2                96.55 KiB
public/front/assets/Inter-Medium.1b498b95.woff2                 103.44 KiB
                       public/front/assets/Inter-Italic.900058df.woff2                 104.37 KiB
                                                                                                 public/front/assets/Inter-MediumItalic.81600858.woff2           109.55 KiB
                                                                                                                                                                           public/front/assets/Inter-SemiBold.15226129.woff2               103.32 KiB
public/front/assets/Inter-SemiBoldItalic.3b6df7d0.woff2         109.42 KiB
         public/front/assets/Inter-BoldItalic.3f211964.woff2             109.19 KiB
                                                                                   public/front/assets/Inter-Bold.c63158ba.woff2                   103.65 KiB
                                                                                                                                                             public/front/assets/Inter-ExtraBoldItalic.cf6b1d6c.woff2        109.09 KiB
                                                                                                                                                                                                                                       public/front/assets/Inter-ExtraBold.307d9809.woff2              103.62 KiB
public/front/assets/Inter-Black.fc10113c.woff2                  100.46 KiB
                                                                     public/front/assets/Inter-BlackItalic.bc80081d.woff2            106.20 KiB
                                                                                                                                               public/front/assets/TRYVesterbro-Light.59d4e0df.woff2           134.08 KiB
                                                                                                                                                                                                                         public/front/assets/TRYVesterbro-Regular.cf9a26a9.woff2         139.92 KiB
public/front/assets/TRYVesterbro-Medium.116a42a4.woff2          142.17 KiB
                                                       public/front/assets/TRYVesterbro-Bold.ac6caaee.woff2            144.62 KiB
                                                                                                                                 public/front/assets/TRYVesterbro-ExtraBold.9be0564d.woff2       142.90 KiB

如果没有-T,输出是好的(每一行都正确对齐(,但钩子将无法处理前面所说的错误。

如果这是相关的,我将zsh用于我的shell,但我尝试在bash中运行,但它也不能解决问题。

有没有办法在docker compose中保留-T的同时修复终端输出?

因此,经过调查,我发现输出只包含n,而不包含nr。缺少r是输出跳过一行但没有返回到起始位置(回车(的原因。

我制作了一个简单的bash函数,并将其添加到我的.zshrc中(您也可以将它添加到.bashrc中(。

clout() {
$@ | sed 's/$/r/'
}

像这样使用

clout your_command args

此函数通过管道传输命令的输出,并在看到n时添加r

这是我找到的最好的解决方案。如果有人有更好的解决方案,我仍然愿意接受。

相关内容

  • 没有找到相关文章

最新更新