Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 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"'
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Хостинг HostFood.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
Непрочитанное сообщение
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
Но это не отвечает на вопрос откуда взялась хрень.
FiL
-
f_andrey
- майор
- Сообщения: 2651
- Зарегистрирован: 2007-12-26 1:22:58
- Откуда: СПб
-
Контактная информация:
Непрочитанное сообщение
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
f_andrey
-
f_andrey
- майор
- Сообщения: 2651
- Зарегистрирован: 2007-12-26 1:22:58
- Откуда: СПб
-
Контактная информация:
Непрочитанное сообщение
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
f_andrey
-
Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2015-01-02 15:03:24
за лечение спасибо.
не от меня, от людей юзающих линукс.
у меня, к счастью, это на фре

)
Убей их всех! Бог потом рассортирует...
Alex Keda