我想做的是:
ssh andy@<ip_address> "cat .bash_aliases; sayhello"
发生的情况如下:
^{pr2}$
为了更具体地说明我的问题,我尝试调用命令
"sudo etherwake -i eth0 <mac_address>"
over ssh——这在我的本地计算机上执行(我想),给出一个sudo: unable to resolve host [blabla]
错误。似乎所有不是标准bash命令的命令都是由本地计算机解析的。在
如果真是这样,我该怎么办?如果不是,解释是什么?在
Tags:
好吧,这是一个相当混乱的黑客,但它是有效的:
这也适用于:
^{pr2}$@ajreal在上面的评论中给出了一个简单的解决方案,只要把你想发生的事情放到一个文件中,然后执行这个文件。在
所以我在主机上创建了一个名为
sayhello.sh
(只包含echo Hello
)的文件,然后在我的本地计算机上使用ssh andy@<ip_address> "sh sayhello.sh"
一般来说,在脚本中使用别名不是一个好主意。在
不过,我可以建议一种方法来做,但要牢记这是多么不安全。在
eval
我们开始吧。在
说明:
默认情况下,仅对交互式shell启用别名扩展。要打开它,请使用
shopt -s
命令。无论如何,您都需要将别名来源到shell上下文中。
现在您可以通过
eval
命令设置为使用别名。相关问题 更多 >
编程相关推荐