Если это виртуальная машина, вы можете сделать
echo 1 > /proc/sys/vm/drop_caches
Таким образом, например, в vmware с расширением памяти (т.е. vmware-tools или open- vmware-tools), вы возвращаете текущую память, используемую в кэшах, гипервизору виртуализации.
Как говорят другие, это полезно только в очень специфических условиях.
Используйте rlwrap
. Утилита rlwrap
является оберткой для любой утилиты, в которой вы ее используете, так что она получает историю ReadLine (вместе с некоторыми возможностями редактирования ReadLine, такими как то, к чему вы привыкли из подсказки bash
). Он будет хранить историю в файле под$RLWRAP_HOME
(или $HOME
, если эта переменная не установлена ).
С помощью rlwrap
вы сможете сделать
rlwrap cat begin.txt - | myprogram
В следующий раз, когда вы запустите это, у вас будет базовая история, которую вы можете прокручивать с помощью клавиш со стрелкой вверх -и со стрелкой вниз -. История по умолчанию будет храниться в ~/.cat_history
.
Дополнительную информацию см. в руководстве по rlwrap
(man rlwrap
).
cat begin.txt - << EOF
Type the
text you want
here, terminated by a line with only
EOF
Подробнее о том, как это работает, см. в https://stackoverflow.com/q/2500436.
Все, что вы наберете, будет сохранено в истории bash, так что вы сможете отредактировать ее по своему вкусу.
Если вам нужно что-то более гибкое, почему бы просто не создать временный файл и не отредактировать его?
cat begin.txt > /tmp/myprograminput
editor /tmp/myprograminput
cat /tmp/myprograminput | myprogram