Я запускаю скрипт bash, который занимает несколько часов. Мне было интересно, есть ли способ контролировать, что он делает? например, какая часть скрипта работает в данный момент, сколько времени потребовалось для запуска всего скрипта, если он сбой в какой строке сценария перестает работать и т. д. Я просто хочу получить обратную связь от скрипта. Благодаря!!!Как я могу контролировать сценарий bash?
0
A
ответ
1
от человека страницы для Баша,
set -x
After expanding each simple command, for command, case command, select command, or arithmetic for command, display the expanded value of PS4, followed by the command and its expanded arguments or associated word list.
добавить их в начале вашего скрипта,
export PS4='+{${BASH_SOURCE}:$LINENO} '
set -x
Пример,
#!/bin/bash
export PS4='+{${BASH_SOURCE}:$LINENO} '
set -x
echo Hello World
Результат,
+{helloworld.sh:6} echo Hello World
Hello World
1
Сделать статус или файл журнала. Например добавить это в вашем скрипте:
echo $(date) - Ok >> script.log
Или для реального мониторинга вы можете использовать strace
на Linux для системного вызова см, например:
$ while true ; do sleep 5 ; done &
[1] 27190
$ strace -p 27190
Смежные вопросы
- 1. Как я могу исправить мой сценарий Bash?
- 2. как я могу контролировать window.location.hash
- 3. Как я могу контролировать console.out?
- 4. Как я могу контролировать количество запущенных процессов?
- 5. Как я могу контролировать направление воздействия UIViewAnimationTransitionCurlUp?
- 6. Как я могу контролировать порядок выполнения целей?
- 7. как я могу отложить или контролировать запросы?
- 8. Как я могу контролировать qscrollarea горизонтально
- 9. Как я могу предотвратить/контролировать упаковку LinearGradientBrush?
- 10. Как я могу контролировать состояние сервера MySQL
- 11. Как я могу контролировать ширину метки метки?
- 12. Как я могу контролировать высоту границы?
- 13. Как я могу контролировать поток рекурсивных методов?
- 14. WPF Как я могу контролировать высоту RibbonTab?
- 15. Как я могу контролировать вход пользователя
- 16. Как я могу контролировать время света дисплея
- 17. Как я могу контролировать цикл for
- 18. Как я могу контролировать количество построенных кругов
- 19. Как я могу контролировать выполняемые функции?
- 20. Как я могу контролировать размер изображения
- 21. Могу ли я программно включить аргумент в сценарий bash?
- 22. как я могу убить этот скрипт bash?
- 23. Я не могу заставить сценарий ожидания запускать удаленный сценарий bash как «ожидаемый»
- 24. Awk/Bash сценарий написания
- 25. BASH лучший способ контролировать файлы
- 26. Как я могу понизить Bash?
- 27. Как я могу контролировать папку для новых файлов или папок
- 28. Как контролировать входной сигнал bash/zsh?
- 29. Как я могу контролировать показ просмотров на iPhone
- 30. Как понять следующий сценарий bash?
Вы можете добавить '-x' в первой строке, например:' #/бен/Баш -ex'. '-e' должен немедленно выйти, когда команда выходит с ошибкой. – janos
также -v можно использовать вместо -x для получения менее загроможденного вывода – damienfrancois
Имеется ли в вашем скрипте 'echo' или' printf' заявления? Если нет, вышеуказанные комментарии вам помогут. Если это так, и вы не видите их, потому что сценарий работает в фоновом режиме, тогда решение отличается. Пожалуйста, дайте понять, в каком случае он находится в вашем вопросе. – damienfrancois