在 Asterisk CLI 中配置命令提示符

use*_*963 7 shell command-line-interface terminal asterisk color

  1. 我正在尝试在asterisk CLI. 在文档中,我发现了这一点:

    %Cn[;n]将终端前景(和可选背景)颜色更改为指定。完整的颜色列表可以在 include/asterisk/term.h* 中找到

    但是我找不到颜色代码应该是什么格式。我已经尝试了所有可能的排列,但没有一个有效:

    ASTERISK_PROMPT="%Cn[COLOR_BLUE] %H: " asterisk -vvvvvvr
    ASTERISK_PROMPT="%Cn[32;128] %H: " asterisk -vvvvvvr
    ASTERISK_PROMPT="%Cn[32;] %H: " asterisk -vvvvvvr
    ASTERISK_PROMPT="%Cn[;32] %H: " asterisk -vvvvvvr
    ASTERISK_PROMPT="%Cn[;COLOR_CYAN] %H: " asterisk -vvvvvvr
    ASTERISK_PROMPT="%Cn[32|128] %H: " asterisk -vvvvvvr 
    
    Run Code Online (Sandbox Code Playgroud)

    例如,有人可以告诉我如何使我的星号提示变为红色吗?

  2. 另外,我还有一个 CLI 提示问题:

    我在 Debian Wheezy 上使用 Asterisk 11.13。当我在 中时asterisk CLI,我可以使用命令历史记录和“类似readline”的功能,例如 CTRL+r 进行搜索。但并非所有功能都可用。例如,用于搜索历史记录的“向上翻页”和“向下翻页”的替代映射不起作用。它们适用于其他所有领域(bash、mysql 等)

    $ cat /etc/inputrc
    "\e[5~": history-search-forward
    "\e[6~": history-search-backward
    
    Run Code Online (Sandbox Code Playgroud)

    有没有办法让它在星号中工作?

The*_*Wiz 2

“ASTERISK_PROMPT”是一个环境变量,应在启动 CLI 之前设置以使其生效。

IE

export ASTERISK_PROMPT="%C31%H*CLI%#"
asterisk -r
Run Code Online (Sandbox Code Playgroud)

至于你的具体版本,(Asterisk 11分支)不显示颜色的原因如下:

  1. 连接到服务器的命令行选项包括“无颜色”标志。
  2. 没有定义“term”环境变量。
  3. 如果 terminfo 数据库存在,并且不包含 max_colors 定义,或者值 = 0。
  4. “term”环境变量不包括以下之一:
    • “xterm”
    • “xterm-颜色”
    • “xterm-256color”
    • “埃特姆”
    • “vt100”
    • “crt”

如果满足这些标准中的任何一个...您将不会获得 vt100 颜色。

该信息直接取自源代码