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

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 34924
Зарегистрирован: 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"'
Убей их всех! Бог потом рассортирует...

FiL
ст. лейтенант
Сообщения: 1328
Зарегистрирован: 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
майор
Сообщения: 2633
Зарегистрирован: 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
Если ваша тема перенесена, то смотри viewtopic.php?f=1&t=32308

Аватара пользователя
f_andrey
майор
Сообщения: 2633
Зарегистрирован: 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
Если ваша тема перенесена, то смотри viewtopic.php?f=1&t=32308

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

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

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

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


Вернуться в «SHELL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя