shell input/output