fork download
  1. #!/bin/bash
  2. # your code goes here
  3.  
  4. get() { echo android_device_samsung_n7000; }
  5. out() { echo "manufacturer: $1, device: $2"; }
  6.  
  7. # 1) POSIX
  8. (get | tr _ ' ' | {
  9. read _ _ manufacturer device # IFS=_ вроде по посиксу, но не уверен
  10. out "$manufacturer" "$device"
  11. })
  12.  
  13. # 2) Bash process-subsitution (или <<< WORD)
  14. (IFS=_ read -r _ _ manufacturer device < <(get)
  15. out "$manufacturer" "$device"
  16. )
  17.  
  18. # 3) если version >= 4.2
  19. (shopt -s lastpipe
  20. get | IFS=_ read -r _ _ manufacturer device
  21. out "$manufacturer" "$device"
  22. )
Success #stdin #stdout #stderr 0.03s 5316KB
stdin
Standard input is empty
stdout
manufacturer: samsung, device: n7000
manufacturer: , device: 
manufacturer: , device: 
stderr
prog.sh: line 14: /tmp/pmEVT9/sh-np-4107376806: Interrupted system call
prog.sh: line 19: shopt: lastpipe: invalid shell option name