LINUX.ORG.RU

Проблема с BASH скриптом в Synology при запуске в CRON, почему?

 , ,


0

1

Добрый день. Скрипт, работает из консоли, но вываливается ошибка при запуске из CRON. Почему?

Сам скрипт

#!/bin/bash
# Перекодирует рекурсивно в текущем каталоге имена
# файлов и каталогов в транслит.
Downloads_file=$(find /volume1/Geroev_Avenue_18/Downloads/ -maxdepth 1 -type f \( -iname "*.mkv" -or -iname "*.m4v" -or -iname "*.mp4" -or -iname "*.ts" \) -and -mmin +1 -exec basename "{}" ';'| shuf -n 1 | sed -n '1p' ); 
#echo $Downloads_file
shopt -s nullglob
for NAME in $Downloads_file ; do
 TRS=`echo $Downloads_file | sed "y/абвгдезийклмнопрстуфхцы/abvgdezijklmnoprstufxcy/"`
 TRS=`echo $TRS | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
 TRS=${TRS//ч/ch};
 TRS=${TRS//./};
 TRS=${TRS// /_};
 TRS=${TRS//Ч/CH} TRS=${TRS//ш/sh};
 TRS=${TRS//Ш/SH} TRS=${TRS//ё/jo};
 TRS=${TRS//Ё/JO} TRS=${TRS//ж/zh};
 TRS=${TRS//Ж/ZH} TRS=${TRS//щ/sh};
 TRS=${TRS///SH\'} TRS=${TRS//э/je};
 TRS=${TRS//Э/JE} TRS=${TRS//ю/ju};
 TRS=${TRS//Ю/JU} TRS=${TRS//я/ja};
 TRS=${TRS//Я/JA} TRS=${TRS//ъ/};
 TRS=${TRS//ъ\`} TRS=${TRS//ь/};
 TRS=${TRS//Ь/}
 TRS=${TRS//,/};
 TRS=${TRS//(/};
 TRS=${TRS//)/};
 TRS=${TRS//\'/};
 TRS=${TRS//\"/};
 TRS=${TRS//---/-};
 TRS=${TRS//--/-};
echo $TRS
done

log из CRON

sed: -e expression #1, char 73: strings for `y' command are different lengths
sed: -e expression #1, char 73: strings for `y' command are different lengths

sed: -e expression #1, char 73: strings for `y' command are different lengths
sed: -e expression #1, char 73: strings for `y' command are different lengths

Запускается

/bin/bash /volume1/Geroev_Avenue_18/Downloads/Test.sh



Последнее исправление: xaizek (всего исправлений: 1)

strings for `y’ command are different lengths

«абвгдезийклмнопрстуфхцы» в UTF-8 небось? А в кроне небось локаль C?

akk ★★★★★
()
Последнее исправление: akk (всего исправлений: 1)

Попробовать /usr/bin/find и т.д. для команд.

Или как там в DSM.

mexx
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.