我正在寻找这样的东西:
$ 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
添加到你的 PATH,并在你想要更改它时编辑mem
文件。