在下面的代码中,我正在读取一个。txt文件,并希望将其内容写入变量userId。但是当我做echo "${userId}"
时,我得到0,为什么呢?文件本身位于SVN分支中,我使用的是jenkins管道。
def userId = bat script: 'for /f "delims=" %%a in (user_id.txt) do echo %%a', returnStdout: true
编辑:TXT文件包含一行用户id(例如cronaldo)
我对批处理脚本一无所知,但我敢打赌,它是文本文件中user_id之后的换行符。
如果你在命令行上执行批处理for循环,你会在一行上看到user-id,然后是空行,我想…
我认为susi是对的,你可能会得到比你想要的另一行…您可以尝试这种解决方案,并在循环的第一个回显之后添加一个退出,这样您就可以确保只输出第一个值。
批处理示例:
@echo off
for /f %%a in (user_id.txt) do (
echo %%a
exit /b
)
将其转换为内联版本,并将其放入您的Jenkins管道中,您应该可以很好地使用