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.shhttps://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'

関連情報