LINUX.ORG.RU

Сообщения skyspirit

 

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

Добрый день. Скрипт, работает из консоли, но вываливается ошибка при запуске из 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

 , ,

skyspirit
()

Пробел в названии файла,полученный через переменную, как переместить?

Всем привет.Моё детище, Если в названии файла пробел, то будет ошибка. Переименовать, внутри переменой, у меня никак не выходит, может, поможете с перемещением файла с пробелом в названии?

#!/bin/bash

#ищем файлы с расширением .mkv, .m4v

Downloads_file=$(find /volume1/Geroev_Avenue_18/Downloads/ -maxdepth 1 -type f \( -iname "*.mkv" -or -iname "*.m4v" -or -iname "*.mp4" \) -and -mmin +5 -exec basename "{}" ';' | sed -n '1p' ); 

echo $Downloads_file

Downloads_file_film=$(find /volume1/Geroev_Avenue_18/Downloads/ -maxdepth 1 -type f \( -iname "*.mkv" -or -iname "*.m4v" -or -iname "*.mp4" \) -and -mmin +5 | sed -n '1p' );

#проверяем наличие найденного файла & отправляем сообщение в Телеграмм

if [ -n "$Downloads_file_film" ]; then mv -nfv $Downloads_file_film /volume1/Geroev_Avenue_18/Shared_Videos/Films/ && curl -X GET -k "https://api.telegram.org/bot18:9agk/sendMessage?chat_id=-4140&text=Films for PLEX App has been updated, file is "$Downloads_file""; 

fi

Спаибо

 , , ,

skyspirit
()

RSS подписка на новые темы