Страница 1 из 1

помогите скрипт отказываеться работаь

Добавлено: 2011-04-07 14:59:50
bagas
Добрый день.
До обновления bash все отлично работало, но вчера обновился bash и по лезли косяки.
кусок кода скрипт

Код: Выделить всё

#!/bin/sh
cd /mnt/share/tmp/ЗП/
DT=`date +"%Y-%m-%d"`
DIR="/mnt/do_obmen/ПАВ/ЗП"
TXT="/mnt/share/tmp/ЗП/*.txt"
if [ -r $TXT ]; then
if [ ! -r $DIR/$DT ]; then
mkdir $DIR/$DT
fi
fi
cp $TXT $DIR/$DT
rm -rf /mnt/share/tmp/ЗП/*.txt-e
при таком раскладе скрипта не робит.

Код: Выделить всё

$ sh cash
[: /mnt/share/tmp/ЗП/ovd.txt: unexpected operator
/mnt/do_obmen/ПАВ/ЗП/2011-04-07 is not a directory
экранирую

Код: Выделить всё

if [ -r '$TXT' ]; then
Прожевываеться, но неможет создаться диреткория.

Код: Выделить всё

]$ sh cash
cp: /mnt/do_obmen/ПАВ/ЗП/2011-04-07 is not a directory
не создаеться диретокрия.
Вручную директория создается $ mkdir /mnt/do_obmen/ПАВ/ЗП/2011-04-07
Подскажи что я делаю не так.

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-07 15:02:26
hizel

Код: Выделить всё

mkdir -p $DIR/$DT

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-07 15:31:29
bagas
mkdir -p $DIR/$DT
не помогает

/mnt/do_obmen/ПАВ/ЗП - директория ЗП существует.

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-07 20:06:47
bagas
так разобрался...
вот из этой функции не проходило все...

Код: Выделить всё

if [ -r $TXT ]; then
переработал

Код: Выделить всё

if [ ! '$TXT' ]; then
  $(ls '$DIR/$DT')
else
  /bin/mkdir $DIR/$DT
fi

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-08 8:46:50
bagas
рано обрадовался...не пойму как мне сделать проверку..
вообщем если разширение .txt присутствует то создаем директорию , если нету .txt разширение то не создаем директорию.

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-08 9:06:40
FreeBSP
find
$!

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-08 17:45:14
kpp

Код: Выделить всё

if [ -r "$TXT" ]; then
if [ ! -r "$DIR/$DT" ]; then
mkdir "$DIR/$DT"
fi
fi

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-08 18:10:40
kpp
А вообще мне непонятно что этот скрипт должен делать.
Мой вариант:

Код: Выделить всё

DT=`date +"%Y-%m-%d"`
DIR="/mnt/do_obmen/ПАВ/ЗП"
TXT="/mnt/share/tmp/ЗП"
EXT="*.txt"

if [ -n "`find "$TXT" -name "$EXT" -print`" ]; then
 if [ ! -d "$DIR/$DT" ]; then
   mkdir "$DIR/$DT"
 fi
fi

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-09 19:35:01
Alex Keda
юзайте шелл, а не подделки

Re: помогите скрипт отказываеться работаь

Добавлено: 2011-04-11 10:14:36
bagas

Код: Выделить всё

if [ "$(ls *.txt)" != "" ]; then
mkdir $DIR/$DT
fi
спасибо за содействие, разобрался!
вообще обстоит дело так,
есть директория ЗП, в нее кладутся текстовые доки с расширением .txt
А вот смысл кода, которого я предоставил таков,
он должен проверять директорию ЗП на наличие .txt расширения, если оно присутствует, то создается директория с сегодняшней дато