如何编写接受选项的 Bash 脚本?

如何编写接受选项的 Bash 脚本?

我正在编写一个 Bash 脚本,以便更轻松地启动用于测试目的的本地网络服务器;我不需要它一直运行,在我需要时启动它对我来说更有用。

现在我需要运行以下两个命令来启动它

sudo systemctl start apache2  
sudo systemctl start mysql

这些可以阻止它

sudo systemctl stop apache2  
sudo systemctl stop mysql

为了方便起见,我编写了一个简单的 Bash 脚本webserver-start来启动它:

#!/bin/bash

#starts the webserver

sudo systemctl start apache2  
sudo systemctl start mysql

还有一个类似的方法来阻止它。

我想把所有内容放在一个脚本文件中,并使用一些选项来选择是否要启动或停止(甚至重新启动)网络服务器,方式如下:webserver -s启动、webserver -p停止等等。

我如何修改我的脚本以使它们接受不同的选项并根据它们执行不同的任务?

答案1

您可以执行以下操作:

web.sh

#!/bin/bash
systemctl $1 apache2 mysql

此解决方案的好处是您可以执行以下操作:

  • sudo ./web.sh start开始一切。
  • sudo ./web.sh stop停止一切。
  • sudo ./web.sh restart重启。
  • 等等...

相关内容