我想远程运行一个本地命令文件,并在本地的shell窗口中获得输出。
实际上,该命令是远程执行的,但我在本地shell/控制台窗口中看不到结果。
有关于如何实现以下命令的想法吗?
ssh user@host 'bash -s' < /Users/daniel/bin/bash/fz_multiple_db_connections.sh 其中,fz_multiple_db_connections.sh包含:
#!/bin/bash
connections=(
'mysql -u dbuser__name --password=passw dbname '
'mysql -u dbuser__name1 --password=passw1 dbname1')
for f in "${connections[@]}"
do
echo `${f}`
echo `mysql show tables`
echo `mysql exit`
done
exit发布于 2012-08-24 22:42:26
我认为你可能需要做ssh -t ....来分配一个tty。严格写入stdout或std::cout的程序在没有-t的情况下应该可以很好地工作,但是如果您正在运行的程序需要访问/dev/tty (或任何等效的程序),例如,要求输入密码或其他东西,则需要在ssh中使用-t选项。
发布于 2012-08-24 21:54:06
https://stackoverflow.com/questions/12110775
复制相似问题