Szukanie MAX - linux bash

CR
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 4 lata
  • Postów:64
0

Napisz skrypt, który ustali największą z liczb podanych jako parametry tego
skryptu. Skrypt ma działać poprawnie dla dowolnej liczby parametrów większej od 1.

o to co wymyslilem, ale cos nie dziala:

Kopiuj
#!/bin/sh
MAX=$1
for i in $*
do
  if [ $MAX -lt $i ]; then
  $MAX= $i
fi
echo $MAX
done
edytowany 1x, ostatnio: cryptondr
Silv
Czemu #!/bin/sh, a nie #!/bin/bash? Jest jakiś specjalny powód?
Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
0

"Co" nie działa?


CR
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 4 lata
  • Postów:64
0

dla podanych parametrów, np: 9, 8 , 7 , 6 , 11
MAX z outputu to 9

Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
1

W tej linijce:

Kopiuj
$MAX= $i

źle przypisujesz do zmiennej. W Bashu zmienna, do której się przypisuje, nie powinna mieć znaku dolara. Poza tym masz nadprogramową spację. Czyli:

Kopiuj
MAX=$i

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.