0
history -s

^ 命令将添加到历史记录。但是,它也不允许被调用函数保留在历史记录中。

举例说明:

当我们有一个函数时:

history.demo() {

  echo "args: $@"

  history -s "echo HI WORLD"
}
export -f history.demo;

并在终端中调用此函数

history.demo 1 a

我希望看到保存在历史中的是

history.demo 1 a
echo HI WORLD

然而,我所看到的只是

echo HI WORLD

我们如何才能将原始和附加组件放入 bash 历史记录中?

4

1 回答 1

0

看起来下面是在做的伎俩(感谢 r2evans@ 的指针)

history.demo() {
  echo "args: $@"

  history -s "${FUNCNAME[0]} $@"
  history -s "echo HI WORLD"
}
export -f history.demo;
于 2020-08-01T05:54:39.127 回答