Mercurial > hg > aboriginal
annotate sources/native/bin/getent @ 680:924527b0b454
Fix ppc bios, this is the one from qemu svn 6657.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 30 Mar 2009 04:50:02 -0500 |
parents | df62eeaccb27 |
children |
rev | line source |
---|---|
601
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 #!/bin/sh |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 # Copyright 2009 Rob Landley <rob@landley.net>, licensed under GPLv2. |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
4 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
5 isnum() |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
6 { |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
7 [ ! -z "$(echo $1 | grep '^[0-9]*$')" ] |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
8 } |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
9 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
10 nocomments() |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
11 { |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
12 sed 's/\([^#]*\)#.*/\1/' /etc/$1 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
13 } |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
14 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
15 # The world's cheesiest getent implementation |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
16 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
17 case "$1" in |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
18 passwd|group) |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
19 isnum "$2" && |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
20 grep -m 1 "[^:]*:[^:]*:$2:" /etc/$1 || |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
21 grep -m 1 "^$2:" /etc/$1 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
22 ;; |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
23 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
24 hosts|networks|protocols) |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
25 nocomments $1 | grep -m 1 -w "$2" |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
26 ;; |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
27 |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
28 services) |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
29 nocomments $1 | (isnum "$2" && grep -m 1 "[ ]$2/" || grep -m 1 -w "$2") |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
30 ;; |
df62eeaccb27
Gentoo's portage needs getent, which neither busybox nor toybox implements, so implement a shell script version.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
31 esac |