Для полноты картины, версия, которая работает как с пустыми, так и с бесконечными списками.
rotate :: Int -> [a] -> [a]
rotate _ [] = []
rotate n xs = zipWith const (drop n (cycle xs)) xs
Затем
Prelude> rotate 2 [1..5]
[3,4,5,1,2]
Вы хотите, чтобы этот файл загружался каждый раз при открытии нового экранного окна? В таком случае команда shell позволяет вам перезаписать то, что запускается при создании нового экранного окна (по умолчанию это просто $ SHELL). Вы можете установить это как сценарий по вашему выбору, который в конце запускает вашу оболочку.
screen bash --rcfile yourfile.rc
yourfile.rc
должен исходить .bashrc
.
РЕДАКТИРОВАТЬ : Это действительно не то, что вы хотите, я только что понял, что вы, вероятно, хотите он применяется ко всем оболочкам, запускаемым экраном.