ďťż

Ładny brzuch

Witam. Moglibyście mi powiedzieć co w tym kodzie jest nie tak:
#!/bin/sh for plik in * do  if [ plik -ot plik2 ]    then    plik2=plik  fi done echo $plik2

Ma on wyświetlić nazwe najstarszego pliku w obecnym katalogu. Wywala "[: syntax error" tyle razy ile ma się wykonać pętelka.

P.S Mógłbym użyć komendy "ls" z odpowiednimi parametrami ale nie mogę ponieważ Freesco na którym pracuje posiada jego okrojoną wersję



#!/bin/bash z="1" for plik in * do if [ $z = "1" ] then plik2=$plik z="0" fi if [ $plik -ot $plik2 ]   then   plik2=$plik fi done echo $plik2

Ja bym to zrobił właśnie tak. Czyli najpierw jakaś inicjalizacja plik2, żeby było z czym porównywać, porównywanie wartości zmiennych, a nie nazw i przypisanie wartości do zmiennej. Takie zmiany wprowadziłem w twoim kodzie i u mnie to zadziałało :)
Ten warunek ze zmienną z nie jest za bardzo udane, ale nie chciało mi się szukać jak przed pętlą przypisać pierwszy plik z katalogu do zmiennej, więc warto to zmienić.

Wielkie dzięki, działa :D

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •