bash - 运行 shell 脚本时替换错误
问题描述
当我尝试为我的 docker 运行初始化和运行脚本时,它给了我一个错误:
docker_init.sh: 5: docker_init.sh: Bad substitution
两个文件写如下:
初始化文件
#!/bin/bash
#
DOCKER_PROCESS=$(docker ps | head -1)
if [ ${DOCKER_PROCESS:0:9} == "CONTAINER" ]
then
echo "Docker is up!"
echo "docker stop all"
docker stop $(docker ps -q -a)
echo "docker rm all"
docker rm $(docker ps -q -a)
echo "docker rmi all"
docker rmi $(docker images -q)
echo "docker build backend"
docker build -t backend .
fi
###############################
运行.sh
#!/bin/bash
DOCKER_PROCESS=$(docker ps | head -1)
if [ ${DOCKER_PROCESS:0:9} == "CONTAINER" ]
then
echo "Docker is up!"
echo "docker run -p 5000:5000 -it backend"
docker run -p 5000:5000 -it backend
fi
###############################
当我搜索此内容时,大多数答案都被告知要添加#!/bin/bash
到顶部,但这不是解决方案。
解决方案
推荐阅读
- sockets - 与 UR5 和相机通信的套接字读取 ascii 浮点超时
- node.js - 发送请求时节点应用程序崩溃
- c++ - 如何使用模板的扩展参数列表创建类型
功能? - reactjs - React.js 如何解决遇到两个孩子有相同的 key React.js
- performance - 如何避免与 Google Tag Manger 相关的页面速度问题以提高性能?
- laravel - 使用 jmeter 负载测试 Laravel 应用程序
- java - React Scheduler 数据更新问题
- graphql - 使用突变导致graphql游乐场中的另一个突变
- javascript - 我怎样才能正确输入这个?
- java - 如何使用Java在管道插件中提取管道dsl?