我有一个这样的脚本:
if rsh $server grep "string" /usr/path/file.txt
then
echo "yes"
else
echo "no"
fi
基本上我想检查包含一些特定字符串的远程服务器中的文件。无论我输入“string”,它都不起作用并且总是显示“是”。
但是,如果我删除“rsh $ server”,这意味着在本地运行,并将该文件放入本地,它工作正常。
有谁知道问题是什么?我该如何修改我的脚本?
答案 0 :(得分:1)
您可以使用远程文件中的数据在本地运行grep
:
if rsh $server cat /usr/path/file.txt | grep "string"
then
echo "yes"
else
echo "no"
fi
如果文件很大,这将会很慢,因为整个文件必须通过网络发送,以便本地grep
可以读取它。