编写.sh脚本

本文介绍了如何编写.sh脚本来一次性执行多个Linux命令,包括复制文件、解压、启动服务等。同时,提到了使用gnome-terminal打开新终端并执行命令的技巧,并给出了一些基础的bash命令示例。此外,还分享了一个安装ROSNoetic及其相关包的脚本,简化Ubuntu系统上的ROS环境搭建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习.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
LG.SH脚本通常是Linux环境下的Shell脚本,用于自动化执行某些任务,如系统管理、部署或者其他日常操作。下面是一些基本步骤来编写一个LG.SH脚本: 1. **打开文本编辑器**:例如nano, vim或emacs等,创建一个新的文件命名为`lg.sh`(以.sh为后缀表示这是一个bash shell脚本)。 2. **添加Shebang行**:这是告诉shell解释器使用哪种语言执行脚本的第一行,通常写为 `#!/bin/bash`。 3. **编写命令块**:使用标准的bash语法,包括变量赋值、条件判断 (`if-else`)、循环 (`for`, `while`)、函数定义等。例如,你可以定义一个简单的函数来备份文件: ```sh backup_files() { cp -r /path/to/source /path/to/backup } ``` 4. **错误处理**:添加适当的错误检查和控制结构,比如使用`set -e`来使得脚本在遇到错误就停止运行。 5. **注释**:清晰地注释你的代码,便于他人理解和维护。 6. **保存赋予执行权限**:使用`chmod +x lg.sh`给脚本添加执行权限。 7. **运行脚本**:通过`./lg.sh`或者`source lg.sh`来执行脚本。 一个完整的例子可能会看起来像这样: ```sh #!/bin/bash # 定义备份函数 backup_files() { cp -r /home/user/documents /media/backup || echo "Backup failed." } # 检查需要备份的文件是否存在 if [ ! -d "/home/user/documents" ]; then echo "Directory not found!" else # 调用备份函数 backup_files fi # 提示用户脚本结束 echo "Backup completed." #
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值