что за херь в баше

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

что за херь в баше

Непрочитанное сообщение Alex Keda » 2015-01-01 3:55:56

от такой скрипт и такие странные результаты выполнения...

Код: Выделить всё

sh -xv  /tmp/a.sh



        if [ `uname` = "Linux" ]
        then
                params='--date="1 hour ago"'
        else
                params="-v-1H"
        fi
uname
++ uname
+ '[' Linux = Linux ']'
+ params='--date="1 hour ago"'

       echo `date $params +%Y%m%d%H%M%S` 
date $params +%Y%m%d%H%M%S
++ date '--date="1' hour 'ago"' +%Y%m%d%H%M%S
date: extra operand `ago"'
Try `date --help' for more information.
+ echo
непонятно, откуда взялось вот это
"1' hour 'ago"'
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: что за херь в баше

Непрочитанное сообщение FiL » 2015-01-02 5:05:56

И правда херь.
То есть вылечить-то легко -

Код: Выделить всё

if [ `uname` = "Linux" ]
        then
                params=--date="1 hour ago"
        else
                params="-v-1H"
        fi
date "$params" +%Y%m%d%H%M%S
Но это не отвечает на вопрос откуда взялась хрень.

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: что за херь в баше

Непрочитанное сообщение f_andrey » 2015-01-02 6:47:53

Забавно, там похоже какие то грабли, от шибко умного разбирания аргументов, более красиво наверное так, чтоб чего лишнего не зацепило

Код: Выделить всё

params=('--date="1 hour ago"')
echo $params
либо

Код: Выделить всё

params='--date="1 hour ago"'
echo "$params"
А для интереса надо копать что то типа tldp.org/LDP/abs/html/varsubn.html
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: что за херь в баше

Непрочитанное сообщение f_andrey » 2015-01-02 6:53:09

Кстати, православный шелл ведёт себя точно так же ;) :p

Код: Выделить всё

% sh -xv test.bash.sh
params='--date="1 hour ago"'
+ params='--date="1 hour ago"'
echo $params
+ echo '--date="1' hour 'ago"'
--date="1 hour ago"
:~ % whereis sh
sh: /bin/sh /usr/share/man/man1/sh.1.gz
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что за херь в баше

Непрочитанное сообщение Alex Keda » 2015-01-02 15:03:24

за лечение спасибо.
не от меня, от людей юзающих линукс.
у меня, к счастью, это на фре =))
Убей их всех! Бог потом рассортирует...