我想创建一个脚本 ( script.sh
) 来更改/etc/proxychains.conf
.不过,我想以菜单的形式进行操作,如下所示:
跑步后./script.sh
[1] Add Proxychain
[2] Start Proxychains
[3] Exit
Please select an option:
如果用户选择[1]
我想询问这些输入:
Type of Proxy:
Proxy IP Address:
Proxy Port:
并以这种形式使用这些输入:( socks5 127.0.0.1 9050
) 在文件底部/etc/proxychains.conf
,您通常会在其中添加代理信息。我正在考虑可能像这样分配每个输入$type $ip $port
(这样您就可以彼此相邻地显示每个字段)。但是我怎样才能做到这一点,以便它自动找到文件中的该位置proxychains.conf
并将这些字段添加到任何其他事先添加的字段下。
之后我想返回到选项菜单,如果用户按下[2]
,它将运行:
proxychains firefox
当然,在 Firefox 关闭后,我想恢复菜单,如果用户选择[3]
它,它会echo "Goodbye"
休眠 1 秒并退出。
答案1
这个脚本应该可以解决你的问题。和下次尝试编写一个脚本并询问您是否有任何问题,而不是询问整个解决方案。
#! /bin/bash
function menu {
echo ""
echo "++++++++++++++++++++++++++++++++++++++++++++"
echo "+++++proxychain applications version1.0+++++"
echo "++++++++++++++++++++++++++++++++++++++++++++"
echo "[1] Add Proxychain"
echo "[2] Start Proxychains"
echo "[3] Exit"
echo "[4] Cat specified file"
read -p "Please select an option : " option
}
function input {
read -p "Input Type of Proxy : " type
read -p "Input Proxy IP Address : " ip_addr
read -p "Inport Proxy Port : " port
if [ ! -z "${type}" ]&&[ ! -z "${ip_addr}" ]&&[ ! -z "${port}" ]
then
echo -e "${type}\t${ip_addr}\t${port}" >>proxychains.conf
else
input
fi
}
function start {
echo "proxychains firefox"
}
function terminate {
if [ -z "$(pgrep firefox)" ]
then
echo -e "Goodbye\n"
sleep 1
end_script=1
exit 0
else
echo -e "Terminating firefox!\n"
pkill firefox
echo "Goodbye"
end_script=1
exit 0
fi
}
function catme {
read -p "Input the file path : " file_path
cat "${file_path}"
exit 0
}
end_script=0
while [ "${end_script}" != 1 ];do
menu
current_stage=${option}
case ${option} in
1)
input
;;
2)
start
;;
3)
terminate
exit 0
;;
4)
catme
;;
*)
echo "unknown usage!"
;;
esac