IP 목록을 파일에 저장하고 싶습니다. 파일에 출력을 쓰는 데 문제가 있습니다.파일에 두 개의 var를 인쇄하십시오.
OID=1.3.6.1.2.1.25.3.2.1.3.1
cat printers.csv | while read IP ; do
OUT=$(snmpget -v1 -c public $IP $OID)
printf '%s, %s\n' $IP $OUT >> printerNames.csv
done
저는 printf 명령을 처음 사용합니다. 나는 그것이 잘못되어 bc 출력이 잘못 작성되었다고 추측하고있다. 또한 응답이 없으면 콘솔에 에코되어 출력 파일에 기록하고 싶습니다. 어떤 도움을 많이 주시면 감사하겠습니다.
'$ OUT'은 이제 제대로 쓰여지고 있지만'$ IP'은 쓰여지지 않고 stderr은 방향 전환되지 않고 있습니까? 출력은'iso.3.6 ... = STRING : 올바른 출력 인 "HP LaserJet P3005"와 같습니다. – ExceptionLimeCat
'2> & 1'은 ** 'printerNames.csv' 후에 ** 동일한 파일로 리디렉션되어야합니다. 그렇지 않으면 * old * stdin으로 리디렉션됩니다. –
Sir Athos가 오류를 리디렉션했지만 어떤 이유로 '$ IP'가 쓰여지지 않습니다. 2 개의 변수를'printf' 할 수 있습니까? – ExceptionLimeCat