加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:43:00 所属栏目:安全 来源:网络整理
导读:我一直在谷歌上搜索这个问题无济于事.我正在自动化这里的构建过程,而我所要做的就是获取版本号和构建的微小描述,这可能是多行的.运行的系统是OSX 10.6.8. 我已经看到了从使用CAT到必要时处理每一行的所有内容.我无法弄清楚我应该使用什么以及为什么. 尝试 re
我一直在谷歌上搜索这个问题无济于事.我正在自动化这里的构建过程,而我所要做的就是获取版本号和构建的微小描述,这可能是多行的.运行的系统是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”会显示输入,因为它给出了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读