您不能注释掉一行。
请注意,由于换行符已转义,因此该命令实际上是一行(到shell解析器),并且无法注释掉一行的一部分(最后除外)。
相反,也许只是在编辑器中复制原始命令,然后将其完全注释掉,同时保持对修改后的命令不加注释:
docker run \
 --rm \
 -u root \
 -v jenkins-data:/var/jenkins_home \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v "$HOME":/home \
 jenkinsci/blueocean
# Was originally:
# docker run \
# --rm \
# -u root \
# -p 8080:8080 \
# -v jenkins-data:/var/jenkins_home \
# -v /var/run/docker.sock:/var/run/docker.sock \
# -v "$HOME":/home \
# jenkinsci/blueocean
或者,如果您要偶尔删除或更改-p选项及其参数(假设bash或具有相同数组语法的shell):
port=( -p 8080:8080 )
docker run \
 --rm \
 -u root \
 "${port[@]}" \
 -v jenkins-data:/var/jenkins_home \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v "$HOME":/home \
 jenkinsci/blueocean
然后只需更改或注释掉对的分配即可port。
进一步说明:
docker_run_args=(
    --rm 
    -u root 
    -p 8080:8080 
    -v jenkins-data:/var/jenkins_home 
    -v /var/run/docker.sock:/var/run/docker.sock 
    -v "$HOME":/home 
    jenkinsci/blueocean
)
docker run "${docker_run_args[@]}"
在数组分配内部,注释掉一行没有问题:
docker_run_args=(
    --rm 
    -u root 
#    -p 8080:8080 
    -v jenkins-data:/var/jenkins_home 
    -v /var/run/docker.sock:/var/run/docker.sock 
    -v "$HOME":/home 
    jenkinsci/blueocean
)
docker run "${docker_run_args[@]}"
               
              
:为空命令或注释),但是可以工作。