[Sysadmins] присваивание команды переменной в bash

Oleg ulug1 на mail.ru
Пт Апр 15 13:39:37 UTC 2011


On 04/14/2011 05:39 PM, Anton Gorlov wrote:
> 14.04.2011 17:32, Oleg пишет:
>> On 04/14/2011 05:23 PM, Anton Gorlov wrote:
>>> Замените `` на ''
>> и как ее потом заставить исполниться в теле скрипта?
>
> ./test.sh
> итого 4
> drwx------ 4 root    root    80 Апр 14 08:45 1278716219
> -rwxr-xr-x 1 stalker stalker 35 Апр 14 17:38 test.sh
>
> cat test.sh
> #!/bin/sh
> test="ls -l"
>
> exec $test
Не работает. ls -l работает, как впрочем работает и при объявлении 
переменной с `` или поновее $() Так и должно быть.
Причем запускаю в shell (/bin/bash) срабатывает, а в скрипте 
(!#/bin/bash) нет
количество параметров? экранирование?

Решил функцией:
errmessage ()
{
/usr/local/bin/sendEmail -f Rbackup на my.domain -t op на my.domain -u "R 
backup - ERROR" -o message-charset=UTF-8 -m "ERROR" >/dev/null 2>&1
}
ну и в теле скрипта она она вызывается:
then
errmessage

Все замечательно работает, но хотелось бы понять, на какие грабли 
наступил-то? Никто не подскажет?


--
С уважением,
Олег


Подробная информация о списке рассылки Sysadmins