如何将此处文档的输出重定向到文本文件?

时间:2017-03-20 13:35:45

标签: bash shell ssh kerberos

我正在尝试使用heredocument获取kerberos主体列表。

如何将heredocument的输出重定向到文本文件。 下面的脚本工作没有重定向到文本文件。

#!/bin/bash

ssh root@remotehost  <<-EOF 
kadmin.local
list_principals *host1*
EOF

output:
HTTP/host1.karthik.com@KARTHIK.COM
hadoop/host1.karthik.com@KARTHIK.COM
host/host1.karthik.com@KARTHIK.COM

但如果我尝试将输出重定向到文本文件,我将收到错误。

那些无效的事情:

#!/bin/bash
ssh root@remotehost  <<-EOF > test.txt
kadmin.local
list_principals *host1*
EOF

output:
Pseudo-terminal will not be allocated because stdin is not a terminal.

#!/bin/bash
ssh root@remotehost  cat <<-EOF > test.txt
kadmin.local
list_principals *host1*
EOF

output:
kadmin.local
list_principals *host1*

1 个答案:

答案 0 :(得分:3)

#!/bin/bash
ssh root@remotehost  > test.txt <<-EOF 
kadmin.local
list_principals *host1*
EOF

<强>测试

$ sh > out.dat <<- EOF
date
EOF

$ cat out.dat
Mon Mar 20 09:49:18 EDT 2017