some code in learning  shell