运行 一个 bash 命令,通过 ssh 多行输入
Running a bash command with multiple lines of input via ssh
我正在尝试通过 ForgeRock 的 OpenDJ 访问 LDAP 目录,我正在通过 ssh 发送大部分命令并且它有效,但是我被困在一个需要在不同行中输入的命令。这是它的工作原理,如果我输入 shell:
ldapmodify -h server.example.com -p 1389 -w '1234' -D "cn=Directory\ Manager" -a
dn:ou=test1,dc=example,dc=com
objectclass:top
objectclass:organizationalUnit
ou:test1
请注意,有四行输入,命令在获得额外的一行空白输入(carriage-return)后结束。命令的输入是动态的并且基于变量。如何通过 ssh 发送这个多行命令?
这是我发送其他命令的方式:
SEND_REMOTE_CMD='opendj/bin/dsconfig create-backend
--backend-name eg1
--set base-dn:dc=eg1,dc=com
--set enabled:true
--type local-db
--hostname server.example.com
--port 5444
--trustAll
--bindPassword '1234'
--no-prompt
--bindDN "cn=Directory\ Manager"'
ssh user@server.example.com $SEND_REMOTE_CMD
要编写命令脚本并向其发送多行输入,您可以使用 here document.
ldapmodify -h server.example.com -p 1389 -w '1234' -D "cn=Directory\ Manager" -a <<INPUT
dn:ou=test1,dc=example,dc=com
objectclass:top
objectclass:organizationalUnit
ou:test1
INPUT
要通过 SSH 执行,执行相同的操作,但在前面添加 ssh 命令。
ssh user@host.name ldapmodify -h server.example.com -p 1389 -w '1234' -D "cn=Directory\ Manager" -a <<INPUT
dn:ou=test1,dc=example,dc=com
objectclass:top
objectclass:organizationalUnit
ou:test1
INPUT
我正在尝试通过 ForgeRock 的 OpenDJ 访问 LDAP 目录,我正在通过 ssh 发送大部分命令并且它有效,但是我被困在一个需要在不同行中输入的命令。这是它的工作原理,如果我输入 shell:
ldapmodify -h server.example.com -p 1389 -w '1234' -D "cn=Directory\ Manager" -a
dn:ou=test1,dc=example,dc=com
objectclass:top
objectclass:organizationalUnit
ou:test1
请注意,有四行输入,命令在获得额外的一行空白输入(carriage-return)后结束。命令的输入是动态的并且基于变量。如何通过 ssh 发送这个多行命令?
这是我发送其他命令的方式:
SEND_REMOTE_CMD='opendj/bin/dsconfig create-backend
--backend-name eg1
--set base-dn:dc=eg1,dc=com
--set enabled:true
--type local-db
--hostname server.example.com
--port 5444
--trustAll
--bindPassword '1234'
--no-prompt
--bindDN "cn=Directory\ Manager"'
ssh user@server.example.com $SEND_REMOTE_CMD
要编写命令脚本并向其发送多行输入,您可以使用 here document.
ldapmodify -h server.example.com -p 1389 -w '1234' -D "cn=Directory\ Manager" -a <<INPUT
dn:ou=test1,dc=example,dc=com
objectclass:top
objectclass:organizationalUnit
ou:test1
INPUT
要通过 SSH 执行,执行相同的操作,但在前面添加 ssh 命令。
ssh user@host.name ldapmodify -h server.example.com -p 1389 -w '1234' -D "cn=Directory\ Manager" -a <<INPUT
dn:ou=test1,dc=example,dc=com
objectclass:top
objectclass:organizationalUnit
ou:test1
INPUT