você tem um erro de digitação na linha 8 do seu script, deve ser: %código% Essa é a razão pela qual você só recebe '5' impresso, porque $ dirname está vazio.
O que está acontecendo é que quando você executa read dirname
, o shell expande '$ dirname' para o valor que está vazio.
Além disso, em uma nota lateral, use sempre aspas duplas ao incluir variáveis.
Roteiro revisado:
#!/bin/ksh
echo Enter the level of nesting
read lev
echo Enter the directory \( Enter the Absolute Path\)
read path
echo Enter the directory name
read dirname
cd $path
for((i=1;i<=$lev;i++));
do
mkdir "$dirname$i"
cd "$dirname$i"
done
echo "$dirname$i"