[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Не выполняется команда внутри bash скрипта



On Thursday 02 April 2009 19:22:42 Олег Анисимов wrote:
> Доброго всем LOCAL_TIME!
>
> Голову сломал уже. Помогите разобраться в ситуации.
> Есть скрипт, который надо выполнять из cron. Если
> упрощенно, выглядит так:
>
> #!/bin/bash
>
> HOST=stat
>
> info=`exec ssh root@$HOST uptime`
> UP=`echo $info | cut -d " " -f 3`
> la=$( echo "scale=0; `echo $info | cut -d " " -f 11 | tr ',' ' '`*100" | bc
> -l | tr '.' ',') LA=`printf %.0f  $la`
>
> echo $UP $LA
>
> Беда в том, что если скрипт запускается из cron - получаются пустые
> переменные. Если запустить скрипт в консоли - печатаются реальные цифры.
> Если до кучи выводить в файл значения переменных, то становится ясно, что
> $info, в случае запуска по крону оказывается пустой.
>
> В чем подвох?
>

возможно крон запускает скрипт от другого пользователя.
и следовательно, ssh не находит "~/.ssh"
а если поьзователь тот, то смотри разницу между login и не-login шелом.

-- 
Hе шутите с кармой! Падшие медитаторы рождаются комарами.

Reply to: