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.