торможу... истина где-то рядом, а поймать не могу :)
есть директорий... обычно пустой... но, иногда там появляются исполняемые файлы... может один, а может и сразу несколько... имена файлов - как попало...надо их как-то по-очереди все запускать и, уже запустившиеся удалять...
щас делаю так:
if [ `ls /srun/` ]; then
for i in `dir -r -1 --sort=t /srun/*`; do
$i;
rm $i;
done;
fi;проблема в том, что если файлов появляется сразу несколько, то - "...unary operator expected"
что подправить?
>торможу... истина где-то рядом, а поймать не могу :)
>есть директорий... обычно пустой... но, иногда там появляются исполняемые файлы... может один,
>а может и сразу несколько... имена файлов - как попало...
>
>надо их как-то по-очереди все запускать и, уже запустившиеся удалять...
>
>щас делаю так:
>
>if [ `ls /srun/` ]; then
> for i in `dir -r -1 --sort=t /srun/*`; do
> $i;
> rm $i;
> done;
>fi;
>
>проблема в том, что если файлов появляется сразу несколько, то - "...unary
>operator expected"
>что подправить?1 #!/bin/sh
2
3 for i in `ls -t /srun`; do
4 <zapusk i stiranije failov>
5 doneP.S. Dumaju nado e6e postavitr filtr na to 4tobi pokazival tolko faili i proveral stoit li na nih pravo zapuska.
Pered etim e6e mozno postavit proverku na to jest-li voob6e takaja direktroija i jest li u neje sootv. prava.
Neponatno za4em eto - if [ `ls /srun/` ]; then. Jesli proverit jest li tam faili, togda eto ne jest pravilno. Esli
proverit nali4ije direktorii, to toze. Po mojemu imenno na etom meste i jest o6ibka, t.k. esli fail 1 to eto true,
a jesli ih neskolko i razdeleni oni probelom, to dla testirovanija podajetca stroka vida: <file> <file1> ...<filen>.
I kak skazat true eto ili false ?!
проблема решена... поспал, и, всё прошло :)
по-поводу нескольких файлов, разделённых пробелом есть ключ "-1" - показывать по одному файлу в строке...for i in `ls -t -r -1 --sort=t /srun`; do
/srun/$i;
rm /srun/$i;
done;
>проблема решена... поспал, и, всё прошло :)
>по-поводу нескольких файлов, разделённых пробелом есть ключ "-1" - показывать по одному
>файлу в строке...
>
>for i in `ls -t -r -1 --sort=t /srun`; do
> /srun/$i;
> rm /srun/$i;
>done;Da pri4em tut klu4 -1. On kstate kak i --sort=t tut voob6e ne nuzet, t.k.
--sort=t eto tozhe samoje 4to i -t.
Ja tebe pro [ komandu govoril na kotoruju on i rugalsa.
На все случаи жизни, в том числе и от переменных окружения (PATH например):for i in /tmp/*; do
[ -x "$i" ] || continue;
[ -f "$i" ] || continue;
"$i" && /bin/rm "$i"
doneЕсли нужно удаление файла вне зависимости от результатов работы, то && заменить на ;
PS. Название каталога хорошее :)
>На все случаи жизни, в том числе и от переменных окружения (PATH
>например):
>
>for i in /tmp/*; doTogda uzh lu46e:
for i in /tmp/{*,.*}
Dabi ne otbrasivat .<filename> faili.> [ -x "$i" ] || continue;
> [ -f "$i" ] || continue;
> "$i" && /bin/rm "$i"
>done
>
>Если нужно удаление файла вне зависимости от результатов работы, то && заменить
>на ;
>
>PS. Название каталога хорошее :)