Bash eval在引号内

时间:2011-09-28 18:38:24

标签: bash ssh

我有一个bash脚本,它接受一个参数并做类似的事情:

ssh -t someserver“setenv DISPLAY $ 1; / usr / bin / someprogram”

如何强制bash替换$ 1而不是传递文字字符“$ 1”作为显示变量?

2 个答案:

答案 0 :(得分:1)

修改您知道吗

ssh -X ...
ssh -Y ...

已经支持X转发开箱即用?还看看

xhost +

如果您需要增加“来宾”的权限。

如果要转发非标准X显示地址,可以随时使用

DISPLAY=localhost:3 ssh -XCt user@remote xterm

奖金:要在身份验证后生成ssh后台,请添加'-f'

什么是本地的?这应该已经如图所示。远程?逃避$:\$

但是,我不确定该命令将从

中获取它的参数($ 1)

答案 1 :(得分:1)

根据您对sehe答案的评论,听起来您只是希望远程命令使用本地X显示 - 以便程序在您的远程服务器(someserver)上运行,但显示在机器上您在。{/ p>上运行了ssh命令

这可以通过传递-X来完成,例如

ssh -X someserver /usr/bin/someprogram

出于某种原因,这不适用于少数程序,例如evince。我不确定为什么。我很确定evince是唯一一个通过SSH连接转发回来的应用程序。

如果这不是你想要做的,请解释。