@skyspirit

Ошибка sed, почему?

Всем привет. Суть проблемы: если запускать через sh s.sh скрипт работает
через 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

Как исправить?
Спасибо
if [ -n "$Downloads_folder" ]; then
	# sed-ом заменяем символы кирилицы на символы латиницы
	 TRS=`echo $Downloads_file | sed "y/абвгдезийклмнопрстуфхцы/abvgdezijklmnoprstufxcy/"`
	 TRS=`echo $TRS | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
	 #Библиотека замен
	 shopt -s nullglob
	  TRS=${TRS// /_};
	  TRS=${TRS//WEB-DL/};
	  TRS=${TRS//_./.};
	  TRS=${TRS//1080p/};
	  TRS=${TRS//(/};
	  TRS=${TRS//)/};
	  TRS=${TRS//ч/ch};
	  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//Ь/\'}
	  echo $TRS
fi
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
самое частое ты тупо указал /scrypt.sh
но в cron по умолчанию нет $PATH
нужно указать путь до интерпритатора
/bin/bash scrypt.sh
лучше покажи что у тебя в кроне
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Я думаю в профайле пользователя задается определенная локаль, которая позволяет работать нормально с кодировкой, а через crontab она не задается.
Посмотрите еще раз ваш .profile, .bashrc и настройте такое же для крона.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы