Napisałem skrypt do ssh do zdalnego serwera, aby znaleźć wykorzystanie dysku przez użytkownika. Jednak ten skrypt może tylko odczytać pierwszy wiersz, nie jest kontynuowany w innych wierszach pliku. Coś nie tak z moim scenariuszem? Dzięki.Skrypt Bash odczytuje tylko pierwszą linię pliku
#!/bin/bash
FILE="myfile.txt"
while read line; do
server=`echo $line|awk '{print $1}'`
cpid=`echo $line|awk '{print $2}'`
echo $server "---" $cpid "---" `ssh $server grep $cpid /var/cpanel/repquota.cache|awk '{print int($3/1000) "MB"}'`
done < $FILE
zawartość myfile.txt:
serwer1 user1
server2 użytkownik2
serwer3 użytkownik3
Czy polecenie ssh działa z wiersza poleceń? Możesz użyć ssh -o CommandTimeout = 20 ... do przekroczenia limitu czasu połączenia awaryjnego – suspectus
Tak, działa część poleceń ssh. Mogę uzyskać wynik pierwszej linii. – garconcn
Druga kolumna wygląda jak nazwa użytkownika. Czy to naprawdę jest to samo co '$ cpid', czy jest tam trzecia kolumna? –