如何创建自定义终端命令(运行脚本)?

Era*_*ray 45 command-line

我是一名网络开发人员。当我想开始工作时,我总是在终端上执行一些命令。例如:

sudo service apache2 start
sudo service mysql start
sublime
Run Code Online (Sandbox Code Playgroud)

为了加快这个过程,我创建了一个.sh包含这些命令的文件。

现在,当我想开始工作时,我只是在执行这个 .sh 文件并启动所有服务(mysql、apache2 等)。

是否可以为此创建自定义命令?例如,如果我输入sudo start-working终端,它将执行这些命令

小智 69

人们处理这个问题的一种常见方法是bin在他们的主目录中创建一个目录:mkdir ~/bin

然后,您可以将自定义脚本放在那里: mv start-working ~/bin

确保您的脚本是可执行的: chmod +x ~/bin/start-working

将此添加到~/.bashrc文件的底部(如果您使用的是 bash,您可能正在使用):export PATH=$PATH:~/bin

现在重新登录和退出您的终端,您应该能够简单地输入start-working,您的脚本将执行。

现在您的路径已设置,~/bin您可以输入任何新脚本的名称。

  • +1,而不是注销和登录,您可以简单地运行`source ~/.bashrc` 或`。~/.bashrc` 命令来应用更改。 (16认同)
  • 默认的 `~/.profile` 已经将 `~/bin` 添加到 PATH,因此将它附加到 `~/.bashrc` 中将毫无意义地添加两次或更多次。 (2认同)

小智 20

我正在寻找如何创建自定义命令,我发现了这个问题。我想我要找的是别名,所以我会给你用别名来做到这一点的方法。

在您的主文件夹中:

nano .bash_aliases
Run Code Online (Sandbox Code Playgroud)

在那里你可以在一行中写下你的命令:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'
Run Code Online (Sandbox Code Playgroud)

保存文件后重新配置你的 bashrc

. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

并检查您的新别名是否已加载

alias
Run Code Online (Sandbox Code Playgroud)

就是这样,您现在可以通过运行开始工作

start-working
Run Code Online (Sandbox Code Playgroud)