私はbashを使い始めたばかりで、(a)デバイス名と(b)文字列に基づいて、サーバー内の特定のファイルをリモートで検索するスクリプトを作成しようとしています。私の目標は、指定されたデバイスの「文字列」を含むすべての出力を取得することです。以下のスクリプトを試してみると、ただハングします。ただし、サーバーで直接コマンドを実行すると ("grep -i "router1" /var/log/router.log | grep -i "UPDOWN")、動作します。
#!/bin/bash
#
read -p "Enter username: " user
read -p "Enter device name: " dev
read -p "Enter string: " str
while read /home/user1/syslogs
do
ssh "$user"@server1234 'grep -i "$dev" /var/log/"$syslogs" 2> /dev/null | grep -i "$str"'
done