【发布时间】:2016-10-11 21:30:41
【问题描述】:
我正在寻找这样的东西:
$ startmem
$ command1
$ command2
$ command3
$ endmem
后来,我想这样称呼它:
mem,执行命令。
要清除,只需再次使用startmem。有没有办法解决这个问题?
【问题讨论】:
-
你试过defining a function吗?
-
我希望能够将它与多组命令一起使用——这些命令可能会经常更改,所以我不希望每个命令都有一个函数。
-
每次你有一组命令时,输入
mem() { command1; command2; command3; },然后用mem运行它们。如果您有“多组命令”,以及您建议的流程,您将如何区分它们?使用该功能,您输入的内容甚至比您的建议更少。 -
我认为这个想法是
startmem是开始“录制”宏的信号。当endmem运行时,将定义一个名为mem的函数,并将前面的所有命令作为主体。 -
一个快速但未经测试的解决方案是将
startmem和endmem定义为noop:。然后将 mem 定义为fc startmem endmem。执行startmem只会添加到历史记录中。执行endmem没有任何作用,并且也添加到历史记录中。fc startmem endmem将执行从startmem到endmem的命令。只要不关闭历史记录,这应该在登录后持续存在。