Ĺ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
#!/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