- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
#!/bin/bash
if [[ -d "$1" ]]; then
/usr/bin/ls -lad -- "${1}" | awk '$1~/dr.x/{print $3}' #if user
gid="`/usr/bin/ls -lnad -- \"${1}\" | awk '{print $4}'`"
USERS="`/usr/bin/ls -lad -- \"${1}\" | awk '{print $3}'`|`cat /etc/group | nawk -F: -v var2=$gid '$3 == var2 {print $4}' | tail -1`|`cat /etc/passwd | nawk -F: -v var2=$gid '$4 == var2 {print var=var\"|\"$1}' | tail -1`|`niscat group.org_dir | nawk -F: -v var2=$gid '$3 == var2 {print var=var\"|\"$4}' | tail -1`|`niscat passwd.org_dir | nawk -F: -v var2=$gid '$4 == var2 {print var=var\"|\"$1}' | tail -1`|`/usr/bin/ls -lad -- \"${1}\" | awk '{print $3}'`" #owner | group | passwd | niscat group | niscat passwd | owner
if test "`/usr/bin/ls -lnad -- \"${1}\" | awk '$1~/..r.x[r-]/{print $4}'`";then #if group
echo ${USERS} | sed -e 's/,/|/g' | sed 's/||*/|/g' | nawk -F"|" '{for (i=1;i<=NF;i++) print $i}' | sort | uniq | sed -e '/^$/d' | grep -v "`/usr/bin/ls -lad -- "$1" | awk '{print $3}'`"
fi
if test "`/usr/bin/ls -lnad -- \"${1}\" | awk '$1~/r.x$/{print $4}'`";then #if other
niscat passwd.org_dir | cat /etc/passwd - | awk -F: '{print $1}' | sort | uniq | sed -e '/^$/d' | egrep -v "(`echo ${USERS} | sed -e 's/,/|/g' | sed 's/||*/|/g'`)"
fi
fi
Dummy00001 24.03.2011 19:30 # 0
если бы он хотя бы $() вместо `` использовал, было бы чутка читабельней. и после | ставил новые строчки где можно. и промежуточные переменные тоже никто не запрещал.... вообщем говно.
nil 24.03.2011 23:29 # +2