私はしばらくの間、どのユーザーがサーバーに接続していないかを検出するスクリプトを作成しています。lastlog(unix&bash)からのキャッチエラー
これまでのところすべてが良いですが、私のスクリプトから生成されたリストから不要なエントリを削除しようとしています。スクリプトに例外を追加して、使用されていない引数でlastlogが呼び出されたときに出力を画面に出力しないようにしたいと考えています。
私は次のように気にいらを試してみた:
if [ $? -gt 0 ]; then
echo "ERROR!"
fi
しかし、問題はlastogが成功すると0を返しますが、単純にされていることです:エラーの
lastlog: Unknown user or range: infolog
。だから私はその例外を捕まえることができない。ここで
あなたはかなり単純にこれをテストすることができます(非常に簡単である)
#!/bin/bash
FILES=../*
for year in 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
do
for f in $FILES
do
tempUser=${f:3:20}
userCommand=`lastlog -u $tempUser | grep $year`
if [ ${#userCommand} != 0 ]
then
echo "$userCommand"
fi
done
done
ありがとうございました!チャームのように働いた! – Erwald