2017-11-30 5 views
0

私はシェルスクリプトを全く新しくしています。以下の条件で私を助けてください。ありがとうユーザとそのグループをチェックするLinuxスクリプト

ここで、a、b、c、dはグループzの一部だとしましょう。 私は毎日特定の時間(例8:00 AM)を実行するスクリプトを書いています ユーザーがグループzの一部であるかどうかを調べるスクリプトは、グループzの一部であれば特定のコマンドを実行します(example whoamiユーザーがグループ「CDROM」である場合、これは「whoamiを」持つユーザーのユーザー名を印刷する必要があります

G='cdrom'; 
if [ `groups | grep cdrom | wc -l` -eq 1 ]; 
then whoami; 
else echo "Not in group $G"; 
fi 

:)

これを試してみてください

+1

どのユーザーがグループに所属しているか確認していますか。あなたは今まで何を試しましたか?いくつかのコードを表示し、あなたの要件を詳述してください。 – aquaman

+0

グループuser_nameを使用しています と getent group group_name | grep -o user_name – Sai

答えて

0

を手伝ってください。彼らがグループ "cdrom"にいない場合、 "Not in group cdrom"と表示されます。次に、コマンドをcrontab -e0 8 * * * /path/to/scriptのようにcrontabを編集してcronjobとして設定すると、毎日午前8時にプログラムが実行されます。

これは非常に基本的な機能を備えているので、あなたがそのアイデアを得ることができます。スクリプトを編集して本当に便利なことをするでしょう。

+1

私はあなたがこれを 'group | grep -c "$ G" ';-)すべてに幸運。 – shellter

+0

@shellterあなたは間違いないと思います。 –

+0

マッチの数を数えることは反パターンです。 [wc -l'の無駄な使用](http://www.iki.fi/era/unix/award.html#wc)を参照してください。 – tripleee

関連する問題