( TCH | 2020. 02. 08., szo – 17:45 )

A wc egy külső parancs, amit szabvány shellből is meg lehet hívni. Ami pedig a subshell-t illeti, ha subshellbe rakod a ciklust is, akkor ki tudod echozni belőle a változódat:

#!/bin/sh

a="
 asd
qwe r
 v x"

MAXW=0
RMAXW=$(echo "$a" | (while read -r line;
do
	CW=`echo "$line" | wc -m`
	if [ "$MAXW" -le "$CW" ];
	then
		MAXW="$CW"
	fi
done
echo $MAXW))
echo $RMAXW

Így a RMAXW változóban megkaptad a legszélesebb sor hosszát, azaz az ASCII-art valódi szélességét. És ez POSIX shellből is megy.