Это уже было в шелле. Переиспользуйте.