我在找这样的东西:

$ startmem
$ command1
$ command2
$ command3
$ endmem

后来,我想这样称呼它:
mem,它执行命令。
要清除,只需再次使用startmem。有办法吗?

最佳答案

你可以这样做:

startmem () { eval "mem() { $(sed '/^endmem/Q'); }"; }

这将接受您的输入,直到但不包括“endmem”行,并生成一个“mem”函数。
如果你想让它一直存在,那么你别无选择,只能把它写到磁盘上
startmem () { sed '/^endmem/Q' > ~/.mem_commands; }
mem ()      { source ~/.mem_commands; }

但现在,为什么不创建~/bin/mem,将~/bin添加到您的路径,并在需要更改时编辑mem文件呢?

07-24 21:15