linux 命令完成时退出Plink

bybem2ql  于 12个月前  发布在  Linux
关注(0)|答案(1)|浏览(144)

我正在尝试通过plink.exe运行多个命令行。批处理完成后。我想退出此并执行新的命令行
execute.bat文件中的脚本

(
echo cd /appl/
echo sudo -s
echo cd apache-tomcat/webapps/Test
echo sh ./J50X100.sh
) | plink.exe -batch host -l user -pw pass

字符串
实际:它仍然处于远程状态,我无法执行新命令行


的数据
预期:退出此命令并能够执行新命令行

kognpnkq

kognpnkq1#

使用Plink的方式是,它打开一个交互式shell会话。与每个交互式shell会话一样,它必须使用exit命令退出。在本例中,实际上使用两个exit命令,首先退出sudo,然后退出登录shell。
尽管你最好通过在Plink命令行上指定命令来避免使用交互式shell:

plink.exe -batch host -l user -pw pass "cd /appl/ ; sudo -s 'cd apache-tomcat/webapps/Test ; sh ./J50X100.sh '"

字符串
虽然这种方法在你的特定情况下可能会有问题,因为你必须配置sudo来允许这个命令-但是你应该这样做,因为这是正确的方法。你必须编辑sudoers file-理想情况下,你应该创建一个执行cd apache-tomcat/webapps/Test ; sh ./J50X100.sh的脚本,并在sudoers中允许该脚本。

相关问题