如何让Bash脚本在另一个终端窗口的后台运行命令?

时间:2015-09-07 03:58:29

标签: bash terminal

我是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和其余命令。我正在使用Kali 64位和GNOME。

1 个答案:

答案 0 :(得分:2)

您可以使用&后缀来在后台运行某些内容。如果要在新的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
# …