在AWS CodeBuild内调用bash脚本:找不到脚本
我正试图在代码构建过程中按照和运行一个小bash脚本在AWS CodeBuild内调用bash脚本:找不到脚本,bash,amazon-web-services,aws-codebuild,Bash,Amazon Web Services,Aws Codebuild,我正试图在代码构建过程中按照和运行一个小bash脚本 deploy.sh可在src/目录中找到: #!/bin/bash pwd=$PWD for dir in */ ; do target="$pwd/${dir%/}" cd "$target" npm install sls deploy && sls s3deploy done buildspec文件: version: 0.2 phases: insta
deploy.sh
可在src/
目录中找到:
#!/bin/bash
pwd=$PWD
for dir in */ ; do
target="$pwd/${dir%/}"
cd "$target"
npm install
sls deploy && sls s3deploy
done
buildspec文件:
version: 0.2
phases:
install:
runtime-versions:
nodejs: 10
commands:
- cd backend/functions/src
- npm install serverless
build:
commands:
- ls
- ./deploy.sh
在日志中执行上面的ls
命令之后,我可以看到deploy.sh
在当前目录中
错误:
/codebuild/output/tmp/script.sh:4:/codebuild/output/tmp/script.sh:./deploy.sh:未找到
我还尝试使用命令/bin/bash deploy.sh
,但这会导致另一个错误:
deploy.sh:第2行:$'\r':未找到命令
deploy.sh:第4行:$'\r':未找到命令
deploy.sh:第7行:$'\r':未找到命令
deploy.sh:第8行:意外标记“$”do附近出现语法错误\r\n
deploy.sh:第8行:`for dir in*/;做
(最初是作为评论写的,它解决了问题)
这些文件是在Windows中创建的。将CRLF更改为LF,则
\r
将消失。(首先作为注释编写,它解决了问题)
这些文件是在Windows中创建的。将CRLF更改为LF,则
\r
将消失。您是否在Windows下创建了该文件?转换为DOS\r
行结尾到unix。@WalterA捕捉得很好。它是用WSL编写的,从CRLF改为LF修复了这个问题。你是在Windows下创建这个文件的吗?转换为DOS\r
行结尾到unix。@WalterA捕捉得很好。它是在WSL中编写的,从CRLF更改为LF修复了这个问题在azure app servvice中有类似的问题,但在azure app servvice中也有类似的问题,在azure app servvice中也有类似的问题,但在azure app servvice中也有类似的问题,THX