如果您在 GitLab CI 中使用 echo 命令时,字符串中包含 \( 符号和变量名,但是输出结果没有替换成实际的变量值,这可能是因为 \) 符号被解释为本地 shell 变量而不是 GitLab CI 的环境变量。
为了避免这种情况,可以将字符串用单引号包裹起来,从而防止 $ 符号被 shell 解释。
例如,如果要打印包含变量的字符串,可以这样做:
script:
- echo 'Hello, $USER! Today is $(date).'
在这个例子中,我们使用了两个变量:
$USER
:表示当前用户的用户名。$(date)
:表示当前日期。
当 GitLab CI 运行时,它会将整个字符串作为一个参数传递给 echo 命令,并直接输出字符串本身,而不会将其中的变量替换为实际的值。例如,输出应该如下所示:
Hello, $USER! Today is $(date).