【问题标题】:How do I get colored output to a file from a bash script running in crontab?如何从在 crontab 中运行的 bash 脚本获取文件的彩色输出?
【发布时间】:2014-10-20 04:16:47
【问题描述】:

当我手动运行 bash 脚本时,输出会以使用 tput 指定的颜色附加我的日志文件。当我将 bash 脚本作为 cronjob 运行时,输出会失去颜色。谢谢。

【问题讨论】:

  • 能否展示脚本的相关部分?
  • 当我运行 echo $TERM 时,我得到了 xterm。如何更改 crontab 以使用带颜色的 xterm?

标签: bash colors crontab tput


【解决方案1】:

您的cron 环境几乎可以肯定只是没有指定支持颜色的终端类型,因此tput 没有返回任何内容。

比较:

$ echo $TERM
xterm-256color
$ printf %q\\n "$(tput setaf 5)"
$'\E[35m'
$ printf %q\\n "$(TERM=dumb tput setaf 5)"
''

【讨论】:

  • 当我运行 echo $TERM 时,我得到了 xterm。如何更改 crontab 以使用带颜色的 xterm?
  • export TERM=xterm 或您想为其设置的任何其他值,或使用-T 标志到tput 告诉它要使用哪个terminfo 条目。
  • 我将 TERM=xterm export TERM 放在 bash_profile 文件中,颜色正常!谢谢。
【解决方案2】:

我将 TERM=xterm export TERM 放在 bash_profile 文件中,并且颜色正常。

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 2018-08-10
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多