在 .bash_profile 中链接终端命令

1 terminal .bash-profile macos

可能的重复:
在 Mac 上,如何将我想要运行到别名的命令组合在一起?

我已经使用别名一段时间了,但似乎无法弄清楚如何正确地“链接”命令。例如,有没有办法输入一个别名并让它链接多个命令,像这样?

'cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/'
mate .
open /Applications/MAMP/MAMP.app/
open -a Safari http://localhost:8888/
Run Code Online (Sandbox Code Playgroud)

Dan*_*eck 5

使用外壳函数:

function mampMate() {
    cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/
    mate .
    open /Applications/MAMP/MAMP.app/
    open -a Safari http://localhost:8888/
}
Run Code Online (Sandbox Code Playgroud)

将这些添加到您的.bash_profile并通过输入运行

mampMate
Run Code Online (Sandbox Code Playgroud)

你甚至可以使用其指数作为参数传递和访问他们$1$2等等。

function foo() {
    echo "1: $1"
    echo "2: $2"
}

$ foo bar baz
1: bar
2: baz
Run Code Online (Sandbox Code Playgroud)

更进一步,使您的脚本更独立于您首选的 shell,是脚本。创建一个名为的文件mampMate.sh并添加以下内容:

#!/usr/bin/env bash
cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/
mate .
open /Applications/MAMP/MAMP.app/
open -a Safari http://localhost:8888/
Run Code Online (Sandbox Code Playgroud)

但这不会更改您的工作目录,因为它不会影响您的 shell 会话。

运行chmod +x mampMate.sh并将其放在$PATH.