【问题标题】:How do I make a Bash script run a command in the background in another Terminal window?如何让 Bash 脚本在另一个终端窗口的后台运行命令?
【发布时间】:2015-12-02 13:12:47
【问题描述】:

我是 bash 脚本的新手,我需要制作一个运行以下命令的脚本:

service apache2 start
airmon-ng start wlan0
airbase-ng -e FREEINTERNET -c 1 -P wlan0mon
ifconfig at0 192.168.1.129 netmask 255.255.255.128
route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.129
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface wlan1 -j MASQUERADE
iptables --append FORWARD --in-interface at0 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.4:80
iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-port 80
iptables -t nat -A POSTROUTING -j MASQUERADE
dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid at0
service isc-dhcp-server start

我最大的疑问是如何让脚本在不同的终端中打开 airbase-ng -e FREEINTERNET -c 1 -P wlan0mon 命令并继续执行 airbase 和其余命令。我在 GNOME 中使用 Kali 64 位。

【问题讨论】:

  • 您的问题目前的格式不符合堆栈溢出规则,可能会吸引大量反对票或很快被关闭。为避免这种情况,最好编辑您的问题,以提供关于您的整体问题的清晰示例、您面临的问题、您尝试过的内容以及为什么这些问题不起作用。此外,值得搜索一下您的问题是否已经被问过。
  • 其实再想一想,您似乎是在尝试设置恶意 wifi 热点。
  • 我真的不认为这个问题值得它得到的反对票(或接近投票)......格式有点不稳定,是的,虽然通过队列的建议编辑解决了这个问题,但它是关于特定问题的措辞相当明确的问题。该脚本确实可以用于邪恶目的,但也可以合法使用,例如用于渗透测试。

标签: bash terminal


【解决方案1】:

你可以在后台运行一些东西,后缀是&。如果你想在新的 GNOME 终端窗口中运行某些东西,你可以使用gnome-terminal -e 来实现。将它们放在一起,在新的 GNOME 终端窗口中运行 airbase-ng 命令,同时让脚本的其余部分继续运行:

# …
airmon-ng start wlan0
gnome-terminal -e 'airbase-ng -e FREEINTERNET -c 1 -P wlan0mon' &
ifconfig at0 192.168.1.129 netmask 255.255.255.128
# …

【讨论】:

  • 我通常通过这个热点提供互联网,流量被重定向到登录页面。没有邪恶或恶意的目的。不过,很抱歉这个菜鸟问题。如果我在脚本中使用 gnome-terminal -e,我会在运行它时收到一条错误消息,说它不知道选项 -c(空军基地上的频道选项)。这显然意味着 gnome-terminal -e 确实调用了命令,但不读取命令选项/语法。我该怎么办?如果我不让它在不同的终端运行,其余的命令还会在后台运行吗?
  • 非常感谢。第一次使用这个论坛,很快就得到了答案。我有点害怕有人说什么要花很长时间。非常非常感谢你。干杯 P.S.:我会在未来对格式更加小心:)
  • @Humberto:确保引用了要在另一个窗口中运行的整个命令;否则,gnome-terminal 会认为您正在尝试将选项传递给 it,而不是您尝试运行的命令。如果这不起作用,请告诉我。至于你的另一个问题,是的,你绝对可以省略整个gnome-terminal 的东西,只使用&;该脚本将继续在后台运行,但其输出将与其他命令交错。 (如果有问题,您可以重定向到文件或其他内容。)
猜你喜欢
  • 2014-03-08
  • 2015-03-05
  • 2015-04-11
  • 2020-10-10
  • 2015-08-15
  • 1970-01-01
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多