将主机名哈希为彩色

哈特谢普苏特

我想通过为每个主机设置特定的颜色来确保我已登录到正确的主机。我将我的.bashrc周围环境复制到不同的主机,并为每个主机使用不同的颜色对其进行编辑。

但是,我不想在每个主机上手动编辑颜色,而是自动在每个主机上为我的bash提示填充颜色,每个主机名都有一个独特的颜色。

我正在想象一个.bashrc获取主机名的命令,将其转换为唯一的颜色,并将其设置为bash提示色。

问题:如何在bash中将主机名散列为一种颜色?

它甚至可能根据终端背景色来判断合理的颜色集。

伯爵

这可能不会获得基于背景的“漂亮”颜色,但如果默认的背景颜色始终为color,它应该可以工作0

tput setaf $(hostname | sum | awk -v ncolors=$(infocmp -1 | expand | sed -n -e "s/^ *colors#\([0-9][0-9]*\),.*/\1/p") 'ncolors>1 {print 1 + ($1 % (ncolors - 1))}')

要对此进行分解:

  • tput -输出终端控制字符串
  • setaf-终端控制字符串;在这种情况下,set ANSI foreground
  • $(...) -BASH可嵌套命令替换color参数
    • hostname -获取主机名
    • sum -计算主机名的简单校验和
    • awk...
    • -v ncolors=$(...)-将AWK变量设置为ncolors内命令替换的值$(...)
      • infocmp -1 -显示有关当前端子类型的端子信息,每行1个参数
      • expand-将制表符扩展到空格以使sed脚本更容易
      • sed -n -e "s/^ *colors#\([0-9][0-9]*\),.*/\1/p"-提取整数colors终端能力的值
    • 'ncolors>1 {...}'-awk脚本,{...}仅当ncolors大于1 时才运行代码
      • print 1 + ($1 % (ncolors - 1))-取绝对值$1(输入的字段1,来自sum,表示$1校验和值),除以除法后的余数(ncolors - 1)(这将其限制为0通过的范围(ncolors - 2)),然后添加1并打印。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将容器主机名动态解析为 IP

来自分类Dev

主机名解析为旧IP

来自分类Dev

主机的主机名

来自分类Dev

主机的主机名

来自分类Dev

将主机名“广播”到网络

来自分类Dev

从非哈希SSH提取主机名known_hosts

来自分类Dev

将k8s集群设置为使用主机名/ IP地址而不是localhost

来自分类Dev

如何将主机名解析为节点js中的IP地址

来自分类Dev

如何使用不同的DNS服务器将主机名解析为ip?

来自分类Dev

我可以将主机名设置为DNS别名吗?

来自分类Dev

如何将samba共享解析为IP地址或主机名

来自分类Dev

将主机名设置为smb.conf文件中的变量

来自分类Dev

设置dnsmasq以将主机名解析为本地计算机的IP

来自分类Dev

ubuntu引导失败,无法启动将主机名设置为可写分区上存储的值

来自分类Dev

使用Powershell将Azure网站/ WebApp主机名获取为变量

来自分类Dev

在 kubernetes 中使用 hostNetwork 时是否可以将主机名设置为 Pod?

来自分类Dev

更改主机名后如何将新主机名输入syslog?

来自分类Dev

更改主机名后如何将新主机名输入syslog?

来自分类Dev

具有混合的哈希和非哈希主机名的已知主机文件

来自分类Dev

如何将选项卡名称设置为我连接到的远程主机的别名主机名?

来自分类Dev

主机名未解析为本地IP地址

来自分类Dev

主机名未解析为IP WHM / cPanel

来自分类Dev

阅读主机名列表并解析为IP地址

来自分类Dev

为我的机器添加本地主机名

来自分类Dev

主机名有时为空

来自分类Dev

在Linux for Hadoop VM上将主机名设置为IP

来自分类Dev

无法为新的 Jenkins 节点配置设置主机名

来自分类Dev

无法将主机名变量传递给角色

来自分类Dev

将IP地址绑定到主机名

Related 相关文章

热门标签

归档