我们非常喜欢Portage和Gentoo上其他工具使用的ebegin , eend , eerror , eindent等命令的风格。 绿色 – 黄色 – 红色子弹和标准布局可以非常快地发现错误,否则将是非常灰色的命令行输出。
#!/bin/sh source /etc/init.d/functions.sh ebegin "Copying data" rsync .... eend $?
生产输出类似于:
* Copying data... [ OK ]
因此,我们在一些常见的shell脚本中使用这些命令,这对于使用Ubuntu和其他Linux的人来说是一个问题。 (linuces?linuxen?linucae?其他发行版)
在Gentoo上,这些函数是由OpenRC提供的,并且导入了functions.sh文件(其确切位置似乎略有不同)。 但是在Ubuntu上获取这些命令有一个简单的方法吗?
从理论上讲,我们可以用沉闷的echo来代替它们,但我们宁愿不要?
使用sysvinit作业,你可能只需将这些函数从gentoo复制到你安装到你的机器上的包中,然后以相同的方式来源。 但是,这并不能解决暴发性就业问题。
有一个普利茅斯新桥使用dbus来显示启动/开始/停止/等。 在普利茅斯以结构化的方式进行暴发性工作(这是普利茅斯在平行工作之后这样做的必要条件)。 要着色代码,这可能意味着用ncurses修补plymouth细节插件,并使用ncurses调用来改变颜色。
我最终写了自己的模仿: