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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Advanced Bash-Scripting Guide  (Прочитано 1200 раз)

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

Оффлайн HOINOM_KITT

  • Автор темы
  • Активист
  • *
  • Сообщений: 453
  • ubuntu 14.04 lts + edubuntu full desktop
    • Просмотр профиля
Advanced Bash-Scripting Guide
« : 09 Июня 2014, 12:41:21 »
подскажите где можно достать свежую документацию по bash ?
нашел это, но некоторые функции там не работают - происходит экстренное завершение в терминале.
'шаман начального уровня' , 'диванный физик теоретик'
http://img-fotki.yandex.ru/get/9304/230416833.0/0_104043_acf007fa_L.jpg
а также 'заслуженный слепец и глупец'

Оффлайн accipiter

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #1 : 09 Июня 2014, 12:53:16 »
некоторые функции там не работают - происходит экстренное завершение в терминале.

Какие, если не секрет?

На русском вряд ли новее есть, только на английском
http://www.tldp.org/LDP/abs/html/

Оффлайн Master_Sergius

  • Активист
  • *
  • Сообщений: 528
  • i3
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #2 : 09 Июня 2014, 13:01:28 »
Конечно, не работает, посмотри фамилию переводчика, Киселевы - они все такие  :)

Ну и, конечно, лучше оригиналы смотреть, а также удостовериться, что скрипты выполняете именно башем, а не другим интерпретатором (sh (ссыль на dash) часто путают с bash)
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Оффлайн HOINOM_KITT

  • Автор темы
  • Активист
  • *
  • Сообщений: 453
  • ubuntu 14.04 lts + edubuntu full desktop
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #3 : 09 Июня 2014, 13:05:20 »
accipiter, как минимум $random

Пользователь решил продолжить мысль 09 Июня 2014, 13:05:51:
спасибо за оригиналы.
'шаман начального уровня' , 'диванный физик теоретик'
http://img-fotki.yandex.ru/get/9304/230416833.0/0_104043_acf007fa_L.jpg
а также 'заслуженный слепец и глупец'

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #4 : 09 Июня 2014, 13:09:09 »
ТС, дело не в новее или старше документация, а полностью соответствует или частично для каких-то утилит.
Думаю, что полного соответствия не бывает. Поэтому смотрите маны по тем утилитам, которые входят в вашу программу. Так будет быстрее и надежнее.
Возможен вариант, что ранее работавший скрипт, не заработает с другой версией баша. Потребуются небольшые изменения. К этому надо относиться спокойно, процесс доработок утилит идет сам по себе и в основном совместимость с предыдушими версиями есть, но иногда бывают изменения, при которых некоторые ключи выбрасываются или заменяются другими.

Оффлайн HOINOM_KITT

  • Автор темы
  • Активист
  • *
  • Сообщений: 453
  • ubuntu 14.04 lts + edubuntu full desktop
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #5 : 09 Июня 2014, 13:12:53 »
да мне простенький рандомайзер нужно написать - с порогами от 1 до 1125. и выводом значения на экран.
'шаман начального уровня' , 'диванный физик теоретик'
http://img-fotki.yandex.ru/get/9304/230416833.0/0_104043_acf007fa_L.jpg
а также 'заслуженный слепец и глупец'

Оффлайн accipiter

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #6 : 09 Июня 2014, 13:50:14 »
accipiter, как минимум $random

Нужно капсом, если у Вас точно bash:
$RANDOMВообще случайные числа можно получить прямо с устройства:
head -c2 /dev/urandom | hexdump -e '/1 "%u"'

Оффлайн HOINOM_KITT

  • Автор темы
  • Активист
  • *
  • Сообщений: 453
  • ubuntu 14.04 lts + edubuntu full desktop
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #7 : 09 Июня 2014, 14:03:54 »
капсом и пишу.
#!/bin/bash

number=$((RANDOM%1125+1))
echo "vivod $number"
echo

exit 0

но он все равно экстренно завершает. непойму почему.


Пользователь решил продолжить мысль 09 Июня 2014, 14:20:54:
а вот все. сообразил. при вызове напрямую он завершается по окончании. надо просто добавить задержку выхода по завершению.

еще раз спасибо. вопрос закрыт.
« Последнее редактирование: 09 Июня 2014, 14:20:54 от HOINOM_KITT »
'шаман начального уровня' , 'диванный физик теоретик'
http://img-fotki.yandex.ru/get/9304/230416833.0/0_104043_acf007fa_L.jpg
а также 'заслуженный слепец и глупец'

Оффлайн accipiter

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Advanced Bash-Scripting Guide
« Ответ #8 : 09 Июня 2014, 15:35:26 »
Цитировать
вот все. сообразил. при вызове напрямую он завершается по окончании. надо просто добавить задержку выхода по завершению.
Т.е. Вы его исполняли так:
. script.shили так
source script.sh
Если так, то понятное дело. Точка и source исполняют скрипт в текущем шеле. Это означает, что exit 0 закроет вашу консоль.

 

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