首页 > 解决方案 > 运行 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到顶部,但这不是解决方案。

标签: bashdocker

解决方案


推荐阅读