|
|
|
Вопрос к знатокам баша
|
|||
|---|---|---|---|
|
#18+
Есть такой скриптик: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. Скрипт мониторинг какой-нибудь хост, указывая длительность онлайна или оффлайна хоста. При нажатии Ctrl+C скрипт завершает опрос и указывает время завершения. Но есть одна маленькая неприятность. Во время опроса курсор мигает в позиции, в которой выводится длительность текущего состояния. При нажатии Ctrl+C в эту позицию выводится текст "^C" и затирает указанное время. Как бы это обойти? Менять алгоритм (чтобы курсор мигал после цифр) слишком хлопотно. ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2013, 15:35 |
|
||
|
Вопрос к знатокам баша
|
|||
|---|---|---|---|
|
#18+
Alibek B., Менять алгоритм (чтобы курсор мигал после цифр) слишком хлопотно. А если как-то поменять? Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2013, 00:54 |
|
||
|
Вопрос к знатокам баша
|
|||
|---|---|---|---|
|
#18+
Нет, это совсем плохо. Тогда уж лучше переделать алгоритм (запоминать предыдущий текст, чтобы знать, сколько \b нужно вставить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2013, 11:51 |
|
||
|
Вопрос к знатокам баша
|
|||
|---|---|---|---|
|
#18+
Alibek B.Нет, это совсем плохо. Тогда уж лучше переделать алгоритм (запоминать предыдущий текст, чтобы знать, сколько \b нужно вставить). А чем плохо? вроде считает нормально (sleep там и так уже есть): Код: html 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2013, 12:28 |
|
||
|
Вопрос к знатокам баша
|
|||
|---|---|---|---|
|
#18+
Во-первых лишняя секунда ожидания; у меня sleep выполняется только при положительном результате пинга, при отрицательном пауза и так будет из-за таймаута. Во-вторых, будет выводиться неправильное время (на секунду больше фактического). Переписал скрипт так, может быть кому-то будет полезен: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2013, 14:12 |
|
||
|
Вопрос к знатокам баша
|
|||
|---|---|---|---|
|
#18+
Еще вопрос. Как определить, запущен скрипт интерактивно или через какой-нибудь трубопровод (pipe)? Если скрипт запускать с выводом в файл (например nohup pinger.sh), то escape-символы будут портить красивый вывод. Поэтому я думаю проапгрейдить скрипт, чтобы при интерактивном запуске он работал, как сейчас, а если он запускается в конвеере, то длительность (time) выводить только при смене состояния или завершении мониторинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2013, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=38152860&tid=1483118]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
155ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 507ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...