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
सरणी (एक सरणी तत्व प्रति पंक्ति)।