bash - 从 Dockerfile 执行 Shell 脚本
问题描述
我有一个启动 python 命令的 Shellscript(取自HERE)
#!/bin/sh
COMMAND='cd /sc2ai/agent && python3 myscript.py'
LOGFILE=restart.txt
writelog() {
now=`date`
echo "$now $*" >> $LOGFILE
}
writelog "Starting"
while true ; do
$COMMAND
writelog "Exited with status $?"
writelog "Restarting"
done
我希望这个脚本在容器加载后立即执行,我这样做是这样的:(我的最后几行Dockerfile
)
# Run Apache
CMD apachectl -D FOREGROUND
# Start the Agent
RUN chmod +x agent.sh
ENTRYPOINT ["/bin/bash", "./agent.sh"]
构建,但在启动 ( docker-compose up -d --build && winpty docker-compose run sc2 bash
) 时会创建此错误:
./agent.sh:第 2 行:$'\r':找不到命令
./agent.sh:第 5 行:$'\r':找不到命令
./agent.sh:第 6 行:意外标记 `$'{\r'' 附近的语法错误
'/agent.sh:第 6 行:`writelog() {
我究竟做错了什么?
解决方案
推荐阅读
- php - 无法在 xendit 上使用 php 代码创建信用卡令牌
- python - 单选按钮更新值但同时不更新?(Python,Tkinter)
- javascript - React Recharts - 如何随时间对 X 轴进行排序?
- vue.js - Vue HTML 模板优化
- neura - 让这个适合我的模型'TypeError:'NoneType'对象不可调用'
- html-table - TinyMCE:禁用 td 边框样式的样式合并
- server - 如何将 laravel 应用程序部署到服务器
- javascript - 看起来在 jQuery 中做一个像这样的固定导航栏,无法忍受!帮助表示赞赏
- c++ - 错误“没有从类型'int [2]'的返回值到函数返回类型'向量的可行转换
'" - javascript - Bootstrap 5 Popover 动态文本