/etc/init.d/functions 以及在 centos 和 debian 中的操作
/etc/init.d/functions and action in centos and debian
在centos中。
source /etc/init.d/functions
action "work done" /bin/true
action "wrong" /bin/false
显示如下。
work done [OK]
wrong [FAILED]
我发现debian里没有/etc/init.d/functions
,那怎么用action "work done" /bin/true
?
把centos里的文件/etc/init.d/functions
复制到usb里,把usb里的文件/etc/init.d/functions
复制到我的debian里?
您或许可以复制该脚本,但该脚本使用的某些文件和二进制文件可能仅在 CentOS 中可用。如果您只需要函数 action()
的奇特输出,这里有一个最小的脚本。
success() {
echo -en "\033[60G[\033[1;32m OK \033[0;39m]\r"
return 0
}
failure() {
local rc=$?
echo -en "\033[60G[\033[1;31mFAILED\033[0;39m]\r"
[ -x /bin/plymouth ] && /bin/plymouth --details
return $rc
}
action() {
local STRING=
echo -n "$STRING "
shift
"$@" && success $"$STRING" || failure $"$STRING"
local rc=$?
echo
return $rc
}
但请注意,原始 functions
脚本通过检查控制台类型和其他内容来完成更多工作。
在centos中。
source /etc/init.d/functions
action "work done" /bin/true
action "wrong" /bin/false
显示如下。
work done [OK]
wrong [FAILED]
我发现debian里没有/etc/init.d/functions
,那怎么用action "work done" /bin/true
?
把centos里的文件/etc/init.d/functions
复制到usb里,把usb里的文件/etc/init.d/functions
复制到我的debian里?
您或许可以复制该脚本,但该脚本使用的某些文件和二进制文件可能仅在 CentOS 中可用。如果您只需要函数 action()
的奇特输出,这里有一个最小的脚本。
success() {
echo -en "\033[60G[\033[1;32m OK \033[0;39m]\r"
return 0
}
failure() {
local rc=$?
echo -en "\033[60G[\033[1;31mFAILED\033[0;39m]\r"
[ -x /bin/plymouth ] && /bin/plymouth --details
return $rc
}
action() {
local STRING=
echo -n "$STRING "
shift
"$@" && success $"$STRING" || failure $"$STRING"
local rc=$?
echo
return $rc
}
但请注意,原始 functions
脚本通过检查控制台类型和其他内容来完成更多工作。