Dockerfile变量的if else子句不起作用
以下内容在我的Dockerfile变量的if else子句不起作用,docker,dockerfile,Docker,Dockerfile,以下内容在我的Dockerfile中不起作用: RUN if $SSH_PRIVATE_KEY -eq ""; then echo "SSH key is not set, aborting"; exit 1; else echo "SSH key is set"; fi 我得到以下错误: Step 4/15 : RUN if $SSH_PRIVATE_KEY -eq ""; then echo "SSH key is not set, aborting"; exit 1; else echo
Dockerfile
中不起作用:
RUN if $SSH_PRIVATE_KEY -eq ""; then echo "SSH key is not set, aborting"; exit 1; else echo "SSH key is set"; fi
我得到以下错误:
Step 4/15 : RUN if $SSH_PRIVATE_KEY -eq ""; then echo "SSH key is not set, aborting"; exit 1; else echo "SSH key is set"; fi
---> Running in 3bd29320f0e3
/bin/sh: -eq: command not found
我想检查
$SSH\u PRIVATE\u KEY
变量是否包含任何内容。在变量周围添加引号(如果变量中可能有空格),只需使用=
运算符进行字符串比较
在伯恩壳牌公司,这将是:
if [ "$SSH_PRIVATE_KEY" = "" ]; then echo "SSH key is not set, aborting"; exit 1; else echo "SSH key is set"; fi
你必须把方括号放在那里。。否则,测试空变量最好是
-z
开关
RUN if [ -z "$SSH_PRIVATE_KEY" ]; then echo "SSH key is not set, aborting"; exit 1; else echo "SSH key is set"; fi