编写.sh脚本

学习.sh文件的编写:
#!bin/bash
sudo cp -r ./apriltag ~/.gazebo/models
sudo unzip ./models.zip ~/.gazebo/models
sudo cp -r ./start_simulation.sh ~catkin_ws

然后给它可执行权限:
sudo chmod +x sim_env.sh start_simulation.sh
(这里给密码后后面也就不用了)

最后去执行;
./sim_env.sh
就能一次执行多个命令了。

这里还可以拓展学习一下:
#!/bin/bash
gnome-terminal -t “roscore” -x bash -c “roscore;exec bash”
注意,这里的-x bash 不能少
但是会有报错:
#选项“-x”已弃用并可能在 gnome-terminal 的后续版本中移除。
#使用“-- ”以结束选项并将要执行的命令行追加至其后。
通过一些实验还是掌握了一部分的规律,但是还完全不够,查了一下发现脚本编写还是有讲究的:
参考

首行都是:(注意别忘了/bin/bash)

#!/bin/bash

判断:

if 判断语句一 ; then
command1
elif 判断语句二; then
command2
else
command3
fi

4.一些命令

date 打印日期
sleep 3s   休眠3秒
ifconfig  查看ip
echo      输出信息
gnome-terminal 打开另一终端

gnome-terminal -t "new title"  设置标题
gnome-terminal -e ls   -e或者-s是启动后自动执行命令,但是执行完终端会自动退出

```bash
gnome-terminal -- bash -c "ls; exec bash"

sudo pkill Xorg 注销
sudo shutdown -h now 关机

set 指令能设置所使用shell的执行方式,可依照不同的需求来做设置


执行脚本

```bash
1 subl test.sh
2 chmod +x test.sh 
3 ./test.sh

作业:
编写一次执行多个命令的sh来初始化ubuntu18和20
编写一个运行gazebo_pkg和nav的导航脚本,完全不用自己输命令,只需要./的脚本
小鱼ros的脚本拿到(20版本吧大概,但是我现在已经安了,不好再安一次,用其他电脑来完成吧)

在这里插入图片描述

脚本不要太复杂,能执行一些简单的命令就好了,其实小鱼ros也是一堆脚本组成的。

阿杰的脚本:

#!/bin/bash
sudo apt install -y ros-noetic-desktop-full
sudo apt install -y ros-noetic-navigation
sudo apt install -y ros-noetic-joy
sudo apt install -y ros-noetic-gazebo-ros-control
sudo apt install -y ros-noetic-joint-state-controller
sudo apt install -y ros-noetic-position-controllers
sudo apt install -y ros-noetic-effort-controllers
sudo apt install -y ros-noetic-cv-bridge
sudo apt install -y ros-noetic-controller-manager
sudo apt install -y ros-noetic-hector-mapping
sudo apt install -y ros-noetic-gmapping
posted @ 2023-06-04 17:26  白云千载尽  阅读(29)  评论(0)    收藏  举报  来源