echo cart | { IFS= read -r spo; printf '%s\n' "$spo"; }
तब तक काम करेंगे जब तक कि केवल एक पंक्ति के आउटपुट के रूप echoमें ( अनुगामी न्यूलाइन वर्ण के spoपरिवर्तनशील के बिना आउटपुट को स्टोर करें ) echo।
आप हमेशा ऐसा कर सकते हैं:
assign() {
eval "$1=\$(cat; echo .); $1=\${$1%.}"
}
assign spo < <(echo cart)
निम्नलिखित समाधान bashस्क्रिप्ट में काम करेंगे , लेकिन bashसंकेत में नहीं:
shopt -s lastpipe
echo cat | assign spo
या:
shopt -s lastpipe
whatever | IFS= read -rd '' spo
whateverपहले NUL वर्णों के आउटपुट को संग्रहीत करने के लिए ( bashचर NUL वर्णों को वैसे भी संग्रहीत नहीं कर सकते) $spo।
या:
shopt -s lastpipe
whatever | readarray -t spo
के उत्पादन में स्टोर करने के लिए whateverमें $spo सरणी (एक सरणी तत्व प्रति पंक्ति)।