他のユーザーに対して異なるmotdファイルを隔離できますか?だから管理者は別のメッセージを受け取り、他の人も別のメッセージを受け取りました。
答え1
長い検索の最後に、次のアイデアが浮かび上がりました。
/etc/profile を編集し、次のループを末尾の TRAP の前に追加します。
#!/bin/ksh
ROOTY=$(whoami)
if [ ${ROOTY} != root ] ; then
for i in `who am i |awk {'print $1'}`
do
RID=$i
UNIXADM=$(sudo cat /home/root/unixusers | grep -Fx $RID | wc -l)
if [ ${UNIXADM} == 1 ] ; then
cat /etc/motd.unixusers
fi
done
fi
ここで、/home/root/unixusers はユーザーのリストです。 /etc/motd.unixusers はユーザー固有の motd です。
答え2
私が見るには複雑すぎる
ROOTY=$(whoami)
if [ ${ROOTY} != root ]
then
if sudo grep -q $ROOTY /home/root/unixusers
then cat /etc/motd.unixusers
else cat /etc/motd
fi
fi
参考にしてください
whoami
who am i |awk {'print $1'}
同じ結果を得ることもできますsudo cat /home/root/unixusers | grep -Fx $RID | wc -l
等しいsudo grep -c $RID /home/root/unixusers
- しかし、1と比較すると、grepで結果が得られないのはなぜですか?
- 1つのアイテムに対してループを実行したいのはなぜですか?