centos和debian中的/etc/init.d/functions和action

时间:2018-11-11 11:01:13

标签: bash action

以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
将文件/etc/init.d/functions以centos复制到usb,并将文件/etc/init.d/functions从usb复制到我的debian?

1 个答案:

答案 0 :(得分:1)

您可能可以复制该脚本,但是可能有一些脚本正在使用的文件和二进制文件仅在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=$1
  echo -n "$STRING "
  shift
  "$@" && success $"$STRING" || failure $"$STRING"
  local rc=$?
  echo
  return $rc
}

但是请注意,原始的functions脚本通过检查控制台和其他内容的类型来做更多的事情。