带参数的自定义命令

带参数的自定义命令

我在 WSL 上运行 ubuntu,现在我想发出命令来启动我的 php 服务器(Nginx、mysql、php)。现在每次我启动电脑时,我总是运行sudo service nginx startsudo service mysql start和 php。

我想创建自己的自定义命令,运行该命令时,它将执行启动服务命令。到目前为止,我知道如何创建自定义命令。但问题是,我有 2 个项目需要 2 个不同的 php 版本(一个是 7.1,另一个是 7.3)。我可以创建一个接受参数的命令并根据参数运行服务吗?

我的期望:

customcommand 7.1将启动 nginx、mysql 和 php7.1-fpm 服务

customcommand 7.3将启动 nginx、mysql 和 php7.3-fpm 服务

我知道,我可以发出不同的命令,例如customcommand7.1customcommand7.3。但如果我只能发出 1 个命令,为什么不呢?

抱歉,我的问题比较垃圾。谢谢!:D

答案1

只需将其保存在类似的文件中function.sh并运行它:bash function.sh

#!/bin/bash

customcommand () {
    sudo service nginx start
    sudo service mysql start
    sudo service php$1-fpm start
    # ... use switch case
    echo "Run v$1"
}

# this command execute version 7.1
customcommand 7.1

如果它有效,请将其放入.bashrc其中linux,或者.bash_profile放入mac

相关内容