Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как устранить несоответствие типов в shell?  (Прочитано 2441 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #15 : 13 Апреля 2010, 18:59:50 »
В данном случае ничего не изменится.
По умолчанию sh это символическая ссылка на /bin/dash, который мало чем отличается от bash.
Отлаживаемый скрипт использует функции, работающие одинаково и там, и там.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн maskimko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #16 : 13 Апреля 2010, 22:32:54 »
Спасибо экранизация заработала и такая ' ' и такая
а что с trafshow не ладно?

Пользователь решил продолжить мысль 13 Апреля 2010, 22:49:30:
Спасибо всем!  :D уже разобрался, нужно так trafshow="$trnf Mb"
Все работает!!!
« Последнее редактирование: 13 Апреля 2010, 22:49:30 от maskimko »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #17 : 14 Апреля 2010, 08:54:01 »
Надо учить матчасть.
http://ss64.com/bash/let.html

Либо let, либо expr
По теории Вы правы, но на практике несколько иначе.
В bash let не работает (наверное, это разные диалекты),
а в tcl должно быть все классно.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #18 : 14 Апреля 2010, 10:12:08 »
По теории Вы правы, но на практике несколько иначе.
В bash let не работает (наверное, это разные диалекты),
И на практике я тоже прав. Все работает.

$ cat let.sh
#!/bin/bash

let i=5
j=10
echo $i
echo `expr $i '*' 10`
echo $((i+18))
let k=$i'*'8
echo $k

$ ./let.sh
5
50
23
40

$ ls -l /bin/bash
-rwxr-xr-x 1 root root 875596 2009-09-14 09:09 /bin/bash

$ /bin/bash --version
GNU bash, version 4.0.33(1)-release (i486-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
« Последнее редактирование: 14 Апреля 2010, 10:14:16 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #19 : 14 Апреля 2010, 10:50:29 »
Действительно.
Вы всегда правы. ;D

Пользователь решил продолжить мысль 14 Апреля 2010, 11:42:00:
Мое дальнейшее сравнительное исследование выявило, что
let - более экономичный способ записи арифметических выражений, чем с expr.
« Последнее редактирование: 14 Апреля 2010, 11:42:00 от alexander.pronin »

Оффлайн maskimko

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #20 : 14 Апреля 2010, 13:05:07 »
Тю, а я и не знал :-\

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как устранить несоответствие типов в shell?
« Ответ #21 : 15 Апреля 2010, 08:26:50 »
- А не замахнуться нам на Вильяма нашего Шекспира ?
- To be or not to be ?
- LET it be.
- А вот оно как, Михалыч ! (цццц)

Тема навеяла. :idiot2:

 

Страница сгенерирована за 0.075 секунд. Запросов: 25.