【发布时间】:2020-03-08 22:13:08
【问题描述】:
我正在使用 bash 脚本在 SSH 之后使用管道执行命令行。
我想做这个流程:
-> ssh 到服务器(使用密钥)
-> 转到特定目录
->more file.txt | grep string.
.
所以,我在下面使用这个脚本:
ssh -i key.txt user@address -p 22 "cd /some/path/to/directory ; more file.txt ; grep string "
但是,它不是 grep 字符串,而是只执行 more file.txt。
SSH 后如何使用管道执行命令?
【问题讨论】:
-
你试过
ssh -i key.txt user@address -p 22 "cd /some/path/to/directory ; grep string file.txt"吗? -
嗨,anishsane,是的,我做到了,但它不起作用。
-
看起来您打算在
more file.txt和grep string之间键入|字符而不是;。 -
@ferori :将寻呼机 (
more) 的输出馈送到另一个程序的标准输入是没有意义的。如果more正在查看的文件的行数少于终端大小,则它将简单地充当cat。此外,我没有看到您在您发布的单行-ssh-脚本中使用任何管道。
标签: bash ssh command-line