如何 运行 2 行并排 bash
how to run 2 lines on in bash side by side
我是 Bash 的新手,我试图让这个脚本在我连接和断开连接到我的 VPN 时通知我。
我遇到的问题是当我 运行 我的 "openvpn" 它将停止收听后面的其余行所以我不得不在我之前放置我的 "connected" 通知行甚至登录。有没有更理想的方式我可以写这个,这样我的 "connected" 线路只会 运行 当打开的 vpn 线路连接时?
如果有帮助,这是为了 Ubuntu。
#!/bin/bash
set -e
function discon {
notify-send -i /usr/share/icons/Adwaita/32x32/devices/network-vpn.png "Home Network" "Disconnected"
}
notify-send -i /usr/share/icons/Adwaita/32x32/devices/network-vpn.png "Home Network" "Connected"
openvpn --config /home/matthew/Documents/vpn/MatthewLaptop.ovpn
trap discon EXIT
您可以附加 &
以从终端分离进程。否则 bash 只会在 openvpn
退出时继续脚本。
openvpn --config /home/matthew/Documents/vpn/MatthewLaptop.ovpn &
您可能想让 OpenVPN 自己处理这个通知。
--up cmd
Run command after successful TUN/TAP device open (pre --
UID change).
consists of a path to script (or executable program),
optionally followed by arguments. The path and arguments may be
single- or double-quoted and/or escaped using a backslash, and
should be separated by one or more spaces.
在配置文件中,这就是 up /path/to/script
。例如:
user loval
group loval
script-security 2
up /home/loval/bin/vpn_is_up.sh
script-security
位很重要,因为(也来自手册页):
0 -- Strictly no calling of external programs.
1 -- (Default) Only call built-in executables such as ifconfig,
ip, route, or netsh.
2 -- Allow calling of built-in executables and user-defined
scripts.
3 -- Allow passwords to be passed to scripts via environmental
variables (potentially unsafe).
另请阅读 --up-restart
和 --down
选项。
我是 Bash 的新手,我试图让这个脚本在我连接和断开连接到我的 VPN 时通知我。
我遇到的问题是当我 运行 我的 "openvpn" 它将停止收听后面的其余行所以我不得不在我之前放置我的 "connected" 通知行甚至登录。有没有更理想的方式我可以写这个,这样我的 "connected" 线路只会 运行 当打开的 vpn 线路连接时?
如果有帮助,这是为了 Ubuntu。
#!/bin/bash
set -e
function discon {
notify-send -i /usr/share/icons/Adwaita/32x32/devices/network-vpn.png "Home Network" "Disconnected"
}
notify-send -i /usr/share/icons/Adwaita/32x32/devices/network-vpn.png "Home Network" "Connected"
openvpn --config /home/matthew/Documents/vpn/MatthewLaptop.ovpn
trap discon EXIT
您可以附加 &
以从终端分离进程。否则 bash 只会在 openvpn
退出时继续脚本。
openvpn --config /home/matthew/Documents/vpn/MatthewLaptop.ovpn &
您可能想让 OpenVPN 自己处理这个通知。
--up cmd
Run command after successful TUN/TAP device open (pre --
UID change).
consists of a path to script (or executable program),
optionally followed by arguments. The path and arguments may be
single- or double-quoted and/or escaped using a backslash, and
should be separated by one or more spaces.
在配置文件中,这就是 up /path/to/script
。例如:
user loval
group loval
script-security 2
up /home/loval/bin/vpn_is_up.sh
script-security
位很重要,因为(也来自手册页):
0 -- Strictly no calling of external programs.
1 -- (Default) Only call built-in executables such as ifconfig,
ip, route, or netsh.
2 -- Allow calling of built-in executables and user-defined
scripts.
3 -- Allow passwords to be passed to scripts via environmental
variables (potentially unsafe).
另请阅读 --up-restart
和 --down
选项。