【问题标题】:Cat with heredoc does not work in zsh shell带有heredoc的猫在zsh shell中不起作用
【发布时间】:2014-08-24 08:06:42
【问题描述】:

当我尝试时

cat > myfile << EOF
TEST TEXT
EOF

我只是得到一个空文件。同样使用echo 命令。这是怎么回事? 我只能想到.zshenv 配置文件中的一些冲突,但我不知道它可能是什么......

我正在使用zsh 4.3.6 (x86_64-suse-linux-gnu)。

【问题讨论】:

  • 在 zsh 4.3.9 中为我工作。
  • 在 Zsh 5.0.5 中为我工作。请使用zsh -f 启动zsh 并重试。 zsh -f 是忽略您拥有的任何配置文件,即它是一个所有配置为默认值的 zsh。

标签: shell zsh cat heredoc


【解决方案1】:

这是另一种写法:

cat <<eos > filename
foo bar baz
eos

这在 zsh 中有效。

【讨论】:

    【解决方案2】:

    如果您的 /tmp(或您的 $TMPDIR 点)是只读的,则可能会发生这种情况。

    您应该能够通过将 strace 附加到您正在运行上述内容的 zsh 来发现问题所在,例如使用strace -ff -s200 -o /tmp/zsh.log -p PID-goes-here 来自不同的外壳。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 2016-08-24
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      相关资源
      最近更新 更多