语法基础
reference:https://www.runoob.com/linux/linux-shell-func.html
#!/bin/bash
if [condition]
then
command1
command2
...
commandN
else
command
fi
read var_name # 读取 变量名字
echo "你要输出的语句......"
while [condition ]
do
command
fi
gnome-terminal --tab -- bash -c "command;exec bash"
example
简要说明:
1.先控制台输出 “请输入要打开的app:0.退出 1.vpn 2.vrep4.4 3.vrep4.2”
2.然后控制台接收输入,如果输入的是0,则直接退出;如果输入的是1,则打开vpn软件,继续步骤1;如果输入的是2,则新建控制台标签页打开vrep4.4软件,继续步骤1;如果输入的是3,则新建控制台标签页打开vrep4.2软件,继续步骤1;
#!/bin/bash
echo "请输入要打开的app:0.退出 1.vpn 2.vrep4.4 3.vrep4.2";
read aNum
while [ $aNum != 0 ]
do
if [ $aNum == 1 ]
then
echo "正在打开vpn......."
cd /home/hmbb/software/clash/Clash\ \for\ Windows-0.20.5-x64-linux
./cfw
elif [ $aNum == 2 ]
then
echo "正在打开vrep4.4......."
gnome-terminal --tab -- bash -c "cd ~/software/CoppeliaSim_Edu_V4_4_0_rev0_Ubuntu18_04;bash coppeliaSim.sh;exec bash"
elif [ $aNum == 3 ]
then
echo "正在打开vrep4.2......."
gnome-terminal --tab -- bash -c "cd ~/software/CoppeliaSim_Edu_V4_2_0_Ubuntu18_04;bash coppeliaSim.sh;exec bash"
else
echo "没有符合的条件"
fi
echo "请输入要打开的app:0.退出 1.vpn 2.vrep4.4 3.vrep4.2";
read aNum
done
注意事项
新建控制台一般需要进入某个文件夹的话,最好写绝对路径,相对路径会基于当前的路径,因此有可能会出现找不到文件夹,而导致后面命令执行失败。所以一开始尽量写绝对路径比较稳妥。