Mercurial > hg > aboriginal
annotate sources/root-filesystem/bin/getent @ 1439:d2b121fc1567
Use the ext4 driver for ext3 and ext2 filesystems.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sat, 10 Sep 2011 08:03:10 -0500 |
parents | 2b3f347dd225 |
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 |