我正在尝试使用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*
答案 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