我正在尝试自动安装Sqoop 2
. 假设sqoop-server
安装在 ip address1.2.3.4
中。在sqoop-client
我想设置该服务器的IP。手动,为此,我会:
sqoop2
sqoop:000> set server --host 1.2.3.4
我怎么能用 shell 的pipe
and来完成echo
呢?我试过了
set server --host 1.2.3.4 | sqoop2
但它并没有奏效。
许多交互式程序从stdin读取。假设sqoop2
您可能会按照您的建议使用管道。但是您只是忘记使用echo
命令:
echo set server --host 1.2.3.4 | sqoop2
上面的代码将 的输出设置echo
为 的输入sqoop2
。另一种选择是使用here字符串
sqoop2 <<< "set server --host 1.2.3.4"
第三种选择是使用here doc。如果您必须发送多个命令,则非常有用:
sqoop2 << 'EOF'
set server --host 1.2.3.4
EOF
(在上面,您可以在结束heredoc的EOF标记之前发出任意数量的命令,然后 shell 会将所有命令作为其标准输入发送到程序)sqoop2
用于expect(1)
编写交互式程序脚本。