echo cart | { IFS= read -r spo; printf '%s\n' "$spo"; }
যতক্ষণ না কেবল একটি লাইন আউটপুট দেয় ততক্ষণ echoচলবে (চলকটিতে নতুন লাইনের চরিত্রটি ছাড়াই আউটপুট সংরক্ষণ করবে) Wouldspoecho
আপনি সর্বদা করতে পারেন:
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 অ্যারে (এক অ্যারের উপাদান প্রতি লাইনে)।