在 .bash_profile 中链接终端命令

在 .bash_profile 中链接终端命令

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

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

'cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/'
mate .
open /Applications/MAMP/MAMP.app/
open -a Safari http://localhost:8888/

答案1

使用 shell 函数:

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

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

mampMate

您甚至可以传递参数并使用它们的索引来访问它们,如$1$2等。

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

$ foo bar baz
1: bar
2: baz

更进一步,脚本可以使您的脚本更加独立于您首选的 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/

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

运行chmod +x mampMate.sh并将其放在您的目录中$PATH

相关内容