| 1 | #!/usr/bin/env python2
 | 
| 2 | from __future__ import print_function
 | 
| 3 | """
 | 
| 4 | read_from_fd.py
 | 
| 5 | """
 | 
| 6 | 
 | 
| 7 | import os
 | 
| 8 | import sys
 | 
| 9 | 
 | 
| 10 | 
 | 
| 11 | def main(argv):
 | 
| 12 |     # Note: the shell has to open this fd
 | 
| 13 |     for arg in sys.argv[1:]:
 | 
| 14 |         fd = int(arg)
 | 
| 15 |         #print 'reading from', fd
 | 
| 16 |         try:
 | 
| 17 |             in_str = os.read(fd, 1024)
 | 
| 18 |         except OSError as e:
 | 
| 19 |             print('FATAL: Error reading from fd %d: %s' % (fd, e),
 | 
| 20 |                   file=sys.stderr)
 | 
| 21 |             sys.exit(1)
 | 
| 22 | 
 | 
| 23 |         s = '%d: ' % fd
 | 
| 24 |         sys.stdout.write(s.encode('utf-8'))
 | 
| 25 |         sys.stdout.write(in_str)  # write binary data to stdout
 | 
| 26 | 
 | 
| 27 | 
 | 
| 28 | if __name__ == '__main__':
 | 
| 29 |     main(sys.argv)
 |