Oto myscript.sh
#!/bin/bash
for i in {1..$1};
do
echo $1 $i;
done
Jeśli biegnę myscript.sh 3
wyjście jest
3 {1..3}
zamiast
3 1
3 2
3 3
Oczywiście $3
zawiera prawidłową wartość, więc dlaczego for i in {1..$1}
zachowuje się tak samo, jak gdybym napisałem for i in {1..3}
bezpośrednio?
Twój przykład skrypt będzie działać w obu ksh93 i zsh . –