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

如何在stash中将stdin重定向到文件

发布时间:2020-12-15 22:53:53 所属栏目:安全 来源:网络整理
导读:考虑这个非常简单的bash脚本: #!/bin/bashcat /tmp/file 它将管道中的任何内容重定向到文件中.例如 echo "hello" | script.sh 并且“hello”将位于文件/ tmp / file中.这有效…但似乎应该有一个本地bash方式这样做而不使用“猫”.但我无法弄明白. 注意: 它
考虑这个非常简单的bash脚本:

#!/bin/bash
cat > /tmp/file

它将管道中的任何内容重定向到文件中.例如

echo "hello" | script.sh

并且“hello”将位于文件/ tmp / file中.这有效…但似乎应该有一个本地bash方式这样做而不使用“猫”.但我无法弄明白.

注意:

>它必须在脚本中.我想让脚本在之后对文件内容进行操作.
>它必须在一个文件中,在我的情况下,后面的步骤涉及一个只从文件中读取的工具.
>我已经有了一个非常好的方法 – 它只是看起来像一个黑客.有原生方式吗?像“/ tmp / file< 0”或“0> / tmp / file”.我认为bash会有一个原生语法来做到这一点……

解决方法

我不认为有一个内置函数从stdin读取直到EOF,但你可以这样做:

#!/bin/bash
exec > /tmp/file
while IFS= read -r line; do
  printf '%sn' "$line"
done

(编辑:李大同)

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

    推荐文章
      热点阅读