Этот весь код почти что copy-paste из шелла. И вообще, где переиспользование шелла?