5
有状态的bash功能
我想在Bash中实现一个函数,该函数在每次调用时都会增加(并返回)计数。不幸的是,这似乎很简单,因为我正在子外壳中调用该函数,因此它无法修改其父外壳的变量。 这是我的尝试: PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 echo $PS_COUNT } ps_count_reset() { let PS_COUNT=0 } 这将按如下方式使用(因此需要从子shell调用函数): PS1='$(ps_count_reset)> ' PS2='$(ps_count_inc) ' 这样,我将获得一个编号的多行提示: > echo 'this 1 is 2 a 3 test' 可爱。但由于上述限制,因此无法使用。 不可行的解决方案是将计数写入文件而不是变量。但是,这会在多个同时运行的会话之间产生冲突。当然,我可以将Shell的进程ID附加到文件名中。但是我希望有一个更好的解决方案,它不会使我的系统中包含很多文件。