什么是sh脚本
在Linux系统中,我们可以使用一些简单的命令行指令完成一些重复的操作或者执行一系列的操作,但是这种方式很不便捷,并且很浪费时间。我们可以使用sh脚本来完成这些操作,相当于一系列指令的集合,这样我们可以通过简单的指令一次执行一系列命令来完成任务。
创建sh脚本文件
创建一个sh脚本文件很简单,只需要在Linux的终端中输入以下命令:
touch test.sh
这个命令可以创建一个空白的.sh文件,接下来我们需要使用编辑器将我们的命令写入这个文件。
在sh脚本中启动程序
在sh脚本中启动程序有两种常见的方式。
1. 直接在脚本中输入程序命令
这种方式相对简单,可以直接在sh脚本文件中输入要执行的程序命令即可。
#!/bin/bash
# 这里是注释,以#开头
echo "Hello World"
./my_program
其中,#!/bin/bash表示使用bash解释器来执行我们的脚本,echo "Hello World"表示输出一句话, ./my_program表示启动我们要执行的程序,需要注意的是,在使用脚本启动程序时,需要将程序的可执行权限打开。
chmod +x my_program
./my_program
2. 使用系统服务管理程序
如果我们要启动的程序是系统级别的服务,那么我们可以使用系统服务管理程序来启动和管理它。
首先,我们需要在/etc/init.d/目录下创建一个新的服务。创建服务时,我们一般会将命令写在启动和停止脚本中。
touch /etc/init.d/my_service
chmod +x /etc/init.d/my_service
nano /etc/init.d/my_service
在打开的编辑器中,我们可以将启动和停止脚本写入其中:
#!/bin/bash
# 这里是注释,以#开头
# 启动服务
function start {
/opt/my_service/bin/start.sh
}
# 停止服务
function stop {
/opt/my_service/bin/stop.sh
}
# 判断脚本输入参数是否正确
if [ "$1" == "start" ]; then
start
elif [ "$1" == "stop" ]; then
stop
else
echo "Usage: my_service {start|stop}"
exit 1
fi
exit 0
在这个例子中,我们在启动脚本(/opt/my_service/bin/start.sh)和停止脚本(/opt/my_service/bin/stop.sh)中写入了实际的运行程序命令。在判断脚本输入参数的过程中,我们根据输入的参数,执行不同的脚本。
完成写入后,我们需要将新创建的服务加入系统服务列表中:
sudo update-rc.d my_service defaults
这样,我们就可以使用系统服务管理程序(start/stop/status)来启动和停止我们的服务了。
总结
利用sh脚本可以方便快捷地启动我们的程序,尤其对于一些需要重复执行的任务更是大大提高了工作效率。在实际使用过程中,我们可以根据自己的情况来选择不同的启动方式,灵活运用。