Test Engineering Notes
3.81K subscribers
177 photos
2 videos
648 links
Україномовний канал про технічні аспекти тестування, розподілені системи, блокчейн.

Консультації з автоматизації, менторинг, тестові співбесіди - @al8xr
Download Telegram
Працюємо з декількома сессіями з командою screen

#scripting #bash #linux

Задача
Треба запустити N вузлів з різними вхідними параметрами, портами та ін. Для кожного вузла підготований власний shell-скрипт.

- Можна робити це вручну, в різних табах терміналу.
- Можна - запускати та відправляти процеси в бекграунд.

А можна - за допомогою команди screen.
Ця команда дозволяє переключатись між різними окремими сессіями в терміналі (наприклад коли вам треба запустити якісь процеси в рамках однієї SSH сессії). Доволі зручно.

#!/bin/bash
nodes=("a" "b" "c" "d" "e")

for node in "${nodes[@]}"; do
screen -dmS $node bash -c "~/scripts/${node}.sh; exec bash"
echo "Started ${node} node"
done
echo "Nodes have been started in separate screens."

Прибрати усі наявні скріни можна наступним скріптом:

#!/bin/bash
active_sessions=$(screen -ls | grep -o '[0-9]\+\.')

for session in $active_sessions; do
screen -S "${session%?}" -X quit
done
echo "All screen sessions have been terminated and closed."
👍11👏2
Незрозумілі Bash скрипти (та команди) - та що з цим робити

#scripting #linux

Задача: Що робити, коли з вами поділились корисною складною cmd командою або скриптом - а ви не розумієте, як вона працює?
Щось типу
git log --graph --abbrev-commit --pretty=oneline origin..mybranch


Рішення:
- Можна, авжеж, й далі вважати себе маглом та думати, що це магія поза зоною вашого розуміння. (привіт, синдром самозванця!)
- Можна запитати в автора та попросити розповісти (тут треба мати прокачані soft skills)
- Можна запитати в ChatGPT (nice!)
- А можна скористатись досить непоганим сервісом explainshell де вам розберуть кожну команду та параметр.
👍322🥱1