编写 bash 函数时出现意外标记“(”附近的语法错误

cod*_*321 6 linux bash ubuntu docker

我有

testapi() { docker-compose -f /home/me/projects/api/docker-compose.yml run -e "API_BRANCH=${1-master}" --rm api_test ;}
Run Code Online (Sandbox Code Playgroud)

它会导致错误:

$ src
bash: /home/me/.bash_profile: line 56: syntax error near unexpected token `('
bash: /home/me/.bash_profile: line 56: `testapi() { docker-compose -f /home/me/projects/api/docker-compose.yml run -e "API_BRANCH=${1-master}" --rm api_test ;}'
Run Code Online (Sandbox Code Playgroud)

运行会产生帮助消息:

$ testapi
Run a one-off command on a service.

For example:

    $ docker-compose run web python manage.py shell
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,ty

cho*_*oba 8

您已定义与该函数同名的别名。别名被扩展(因为配置文件来源于别名工作的交互式 shell),这使得函数定义无效。