Sail文件无法运行:意外标记附近语法错误求助
执行Sail命令时的语法错误解决办法
错误现象
执行sail命令时触发以下语法错误:
docker/sail: line 4: syntax error near unexpected token `$'$file2 '' 'ocker/sail: line 4: `case "${UNAMEOUT}" in $file1 $file2
问题原因
docker/sail脚本文件使用了Windows系统的CRLF(回车+换行)换行格式,而Linux/Unix环境仅识别LF(换行)格式,导致脚本中的\r被当作命令字符解析,引发语法错误。
修复步骤
- 直接转换脚本换行格式为LF:
在项目根目录执行命令:sed -i 's/\r$//' docker/sail - 或使用dos2unix工具转换:
先安装工具(若未安装):
再转换目标文件:sudo apt install dos2unixdos2unix docker/sail
后续预防
为避免后续拉取或创建的脚本再次出现此类问题,配置Git自动转换换行符:
git config --global core.autocrlf input
内容的提问来源于stack exchange,提问作者user20459106
相关产品推荐
相关产品推荐

