Bash 什么';这是在.profile linux mint中编写函数的语法

Bash 什么';这是在.profile linux mint中编写函数的语法,bash,homestead,linux-mint,Bash,Homestead,Linux Mint,我正在尝试向我的~/.profile文件添加函数。我从laravel homestead安装指南中复制了它: 正如指南所说: function homestead() { ( cd ~/Homestead && vagrant $* ) } 如果我使用“source.profile”,它可以正常工作,但是如果我重新启动,我会得到: 语法错误”(“意外,系统不再允许我登录 我试图删除括号,如下所示: function homestead{ cd ~/Hom

我正在尝试向我的~/.profile文件添加函数。我从laravel homestead安装指南中复制了它: 正如指南所说:

function homestead() {
    ( cd ~/Homestead && vagrant $* )
}
如果我使用“source.profile”,它可以正常工作,但是如果我重新启动,我会得到:

语法错误”(“意外,系统不再允许我登录

我试图删除括号,如下所示:

function homestead{
        cd ~/Homestead && vagrant $*
}
但我得到:

意外标记“cd”附近出现语法错误


我在文件上没有shebang,我应该把它放进去吗?

您删除了错误的项。与POSIX兼容的函数定义是

homestead() {
    ( cd ~/Homestead && vagrant $* )
}

功能
(带或不带
()
)是从
ksh
源代码中借用的
bash
扩展,表示您正在运行
bash
,但是
。profile
被其他不理解
函数关键字的POSIX兼容shell使用。

您删除了错误的项。函数的POSIX兼容定义是

homestead() {
    ( cd ~/Homestead && vagrant $* )
}
function
(带或不带
()
)是从
ksh
中借用的
bash
扩展
source
表示您正在运行
bash
,但是
。profile
被其他不理解
function
关键字的POSIX兼容shell使用