bash – 如何从STDIN读取多行变量?

前端之家收集整理的这篇文章主要介绍了bash – 如何从STDIN读取多行变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在谷歌上搜索这个问题无济于事.我正在自动化这里的构建过程,而我所要做的就是获取版本号和构建的微小描述,这可能是多行的.运行的系统是OSX 10.6.8.

我已经看到了从使用CAT到必要时处理每一行的所有内容.我无法弄清楚我应该使用什么以及为什么.

尝试

read -d '' versionNotes

如果用户必须使用退格键,则导致输入乱码.此外,没有好的方法来终止输入,因为^ D不会终止,而^ C只是退出进程.

read -d 'END' versionNotes

工作…但如果需要退格键,仍然会输入输入.

while read versionNotes
do
  echo "  $versionNotes" >> "source/application.yml"
done

没有正确结束输入(因为我来不及查找与空字符串匹配).

男人bash提到«…

The command substitution $(cat file) can be replaced by the equivalent but faster $(< file).

…»

$myVar=$(</dev/stdin)
hello
this is test
$echo $myVar
hello this is test
$echo "$myVar"
hello
this is test

并且我同意这值得一提 – echo“$myVar”会显示输入,因为它给出了.

猜你在找的Bash相关文章