echo cart | { IFS= read -r spo; printf '%s\n' "$spo"; }
Sẽ hoạt động (lưu trữ đầu ra echomà không có ký tự dòng mới vào spobiến) miễn là echođầu ra chỉ có một dòng.
Bạn luôn có thể làm:
assign() {
  eval "$1=\$(cat; echo .); $1=\${$1%.}"
}
assign spo < <(echo cart)
Các giải pháp sau đây sẽ hoạt động trong bashcác tập lệnh, nhưng không phải tại bashdấu nhắc:
shopt -s lastpipe
echo cat | assign spo
Hoặc là:
shopt -s lastpipe
whatever | IFS= read -rd '' spo
Để lưu trữ đầu ra của whatevertối đa các ký tự NUL đầu tiên ( bashdù sao các biến cũng không thể lưu trữ các ký tự NUL) $spo.
Hoặc là:
shopt -s lastpipe
whatever | readarray -t spo
để lưu trữ đầu ra của whatevertrong $spo mảng (một dòng trên mỗi phần tử mảng).