[Shell script]IFSによる/etc/passwd情報パケット
3116 ワード
内部フィールド区切り記号IFSを定義し、
まず、
ユーザ情報は
ユーザーごとに
/etc/passwd
の情報をグループ化し、行ごとに出力します.まず、
/etc/passwd
の内容を見てみましょう.$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
...
hyeob:x:1000:1000:hyeob:/home/hyeob:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
git:x:1001:1001::/home/git:/usr/bin/git-shell
前述したように、各ユーザは줄바꿈
に基づいて区別される.ユーザ情報は
:
に基づいている.ユーザーごとに
파싱
のスクリプトを作成しましょう.$ cat test1
#!/bin/bash
IFS_OLD=$IFS
IFS=$'\n'
for user in $(cat /etc/passwd | tail -3)
do
echo "user information: $user"
IFS=:
for info in $user
do
echo $info
done
echo ""
done
IFS=$IFS_OLD
$ ./test1
user information: hyeob:x:1000:1000:hyeob:/home/hyeob:/bin/bash
hyeob
x
1000
1000
hyeob
/home/hyeob
/bin/bash
user information: lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
lxd
x
998
100
/var/snap/lxd/common/lxd
/bin/false
user information: git:x:1001:1001::/home/git:/usr/bin/git-shell
git
x
1001
1001
/home/git
/usr/bin/git-shell
Reference
この問題について([Shell script]IFSによる/etc/passwd情報パケット), 我々は、より多くの情報をここで見つけました https://velog.io/@khyup0629/shell-script-IFS를-이용한-etcpasswd-정보-파싱テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol