Bash 스크립트에서 터미널을 열고 스크립트를 계속 실행하는 방법

Bash 스크립트에서 터미널을 열고 스크립트를 계속 실행하는 방법

명령을 입력하고 xdotool을 사용하여 입력하는 bash 스크립트가 있습니다. 유일한 문제는 스크립트 시작 부분에서 (스크립트를 통해) 터미널을 연 다음 스크립트를 계속 실행해야 한다는 것입니다. 스크립트는 Kali Linux에서 실행되므로 xfce4-terminal, xterm, bash 등이 있습니다.

crtl alt t 시뮬레이션을 시도했지만 작동하지 않습니다.

설명 시도 #2: 내 bash 스크립트는 키보드 입력을 시뮬레이션하고 작업을 자동화하는 명령을 입력합니다. 입력이 터미널로 들어갑니다. 스크립트의 stsrt에서 터미널을 열어야 하는데, 이렇게 하면 터미널이 닫힐 때까지 스크립트가 일시 중지될 것이라고 상상할 수 있습니다. 터미널을 열고 일시 중지하지 않고 원래 스크립트를 계속 실행할 수 있는 방법이 필요합니다. 이것이 분명한가요?

스크립트 소스 이미지: 여기에 이미지 설명을 입력하세요.

답변1

스크립트를 열고 계속 실행하려면 xfce4-terminal다음과 같이 백그라운드에서 명령을 시작할 수 있습니다.

#!/bin/bash

xfce4-terminal &
sleep 5 # wait for terminal window to be ready

# continue with your script
xdotool type '...'

하지만 내 생각엔 네가 해야 할 것 같아실제로원하는 것을 달성하는 것이 너무 복잡해 보이기 때문에 전체 접근 방식을 다시 생각하기만 하면 됩니다! (아직 언급하지 않은 특별한 요구사항이 있는 경우는 제외)

명령을 스크립트로 실행하려는 경우 해당 명령을 직접 거기에 넣을 수 있습니다.

#!/bin/bash

airmon-ng stop wlan1mon
# note:
# no sleep required since the commands are executed one after another,
# waiting for the previous one to finish
airmon-ng check kill

# ...

스크립트 출력을 창에 표시하려면 xfce4-terminal창을 수동으로 열고 그 안에서 스크립트를 시작하면 됩니다.

예를 들어 시작 시 스크립트를 자동으로 시작해야 하지만 여전히 출력을 새 창에 표시하려면 시작 스크립트를 사용하세요 xfce4-terminal -e /path/to/your/script.sh.https://askubuntu.com/q/46627/283843말한 바와 같이αГsнim.

다른 명령에 입력이 필요한 경우 간단히 echo파이프로 연결해 볼 수 있습니다.

echo "events.stream off" | bettercap --iface wlan1mon

또는 명령에 따라 입력을 제공하거나 해당 매개변수로 시작하는 더 적절한 방법을 찾으십시오. 위의 방법이 모든 경우에 작동하지 않을 수 있기 때문입니다. 즉, bettercap다음을 사용할 수 있습니다.-eval범위:

bettercap --iface wlan1mon -eval 'events.stream off; wifi.recon on'

관련 정보