运行 远程时 grep 命令不起作用

grep command doesn't work when run remotely

我有这样的脚本:

if rsh $server grep "string" /usr/path/file.txt
then
   echo "yes"
else
   echo "no"
fi

基本上我想检查远程服务器中包含一些特定字符串的文件。它不起作用,总是显示 "yes" 我放入 "string".

的任何内容

但是,如果我在本地删除 "rsh $server",这意味着 运行,并将该文件放入本地,它工作正常。

有人知道问题出在哪里吗?如何修改我的脚本?

您可以 运行 grep 在本地使用远程文件中的数据:

if rsh $server cat /usr/path/file.txt | grep "string"
then
    echo "yes"
else
    echo "no"
fi

如果文件很大,这会很慢,因为必须通过网络发送整个文件,以便本地 grep 可以读取它。