加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在BASH脚本中的新终端中启动命令

发布时间:2020-12-15 18:51:17 所属栏目:安全 来源:网络整理
导读:我的bash脚本读取一些变量,然后在我的家庭网络上运行airodump.我想保持窗口与airodump运行,打开一些新的终端运行其他命令网络发现,而airodump屏幕打开(所以我可以看到结果). 现在我看起来像这样(为简洁起见): #!/bin/bashread -p "Enter the channel: $chan
我的bash脚本读取一些变量,然后在我的家庭网络上运行airodump.我想保持窗口与airodump运行,打开一些新的终端运行其他命令网络发现,而airodump屏幕打开(所以我可以看到结果).
现在我看起来像这样(为简洁起见):
#!/bin/bash
read -p "Enter the channel: $channel"
airomon-ng start wlan0 $channel,$channel
airodump-ng -c $channel,$channel mon0 &&
terminator -e netstat -ax &&
terminator -e nmap 192.168.1.1

使用整个终端(airodump)的第一个命令启动,我可以看到网络,但是它只是停留在该屏幕上.如果我ctrl c然后它回到提示,但我可以看到错误:用法:终结者[选项]错误没有这样的选项
我想要netstat和nmap命令出现并停留在自己的终端窗口中,我该怎么办?

终端窗口是通过单独的程序从内部运行的命令生成的.尝试以下这些变体:
xterm -e airomon-start wlan0 "$channel","$channel" &

gnome-terminal -x airomon-start wlan0 "$channel","$channel" &

konsole -e airomon-start wlan0 "$channel","$channel" &

选择调用您喜欢的终端程序的命令.您必须为您希望在自己的窗口中运行的每个命令执行此操作.此外,您需要使用单个&在每个这样的命令行的末尾 – 不是双重&& – 那些做完全不同的事情.脚本的最后一行应该是正确的

wait

这使得它不会从所有的终端出来,可能导致他们全部死亡.

义务性的切向shell脚本nitpick:总是把shell变量用在双引号内,除非你知道一个事实,你需要在一个特定的用途上发生分裂.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读