docker sh脚本
脚本从 Windows 传输到 Linux导致脚本无法执行。
在配置web动态flag的时候发现一个问题:flag.sh无法执行在经过长时间的试错之后发现
如果脚本从 Windows 传输到 Linux,可能包含 Windows 格式的换行符(\r\n
),这会导致脚本无法执行。
解决方法:
用下方语句检查如果看到 ^M
字符,说明文件是 Windows 格式
1 | cat -v flag.sh |
再用
1 | dos2unix flag.sh |
将其转换为 Unix 格式
那么根据此原理Dockerfile更改如下
1 | FROM base_image_nginx_mysql_php_56 |