追加読書

追加読書

したがって、etc / passwdにユーザーに関するいくつかの情報をリストしようとしています。これまで、私はuid 1000で始まるすべてのユーザーを記録するスクリプトを得ました。特定のユーザーに関する情報を作成するには、他の関数が必要です。例: Bash myprogram.sh -ul Erik 次に、スクリプトは、特定のユーザーのユーザー名、パスワード、uid、guid、説明、ディレクトリ、およびシェルを一覧表示します。プログラムは$ 1をコマンドとして使用し、$ 2をユーザー名にする2番目の入力として使用します。

答え1

以下getentを使用してこれを実行できますawk

パスワードの取得Eric | awk -F: '{print "ユーザー名: " $1 "\nパスワード: " $2 "\nUid: " $3 "\nGid: " $4 "\nコメント: " $5 "\nホーム: " $6 "\nシェル: " $7 "\n"}'

...しかし、今の古いコマンドを覚えておくべき時です。すべてがawkorで練習されるわけではありませんperl

フィンガー-l -kエリック

一部のオペレーティングシステムにはこのオプションがない場合があります-k。 (あなたが興味を表明していないいくつかの情報は除外されます。)しかし、これは-lかなり一般的です。

追加読書

答え2

この質問を見てください。

awk -F: '{if ($3 >= 1000) {print "Username: " $1 "\nPassword: " $2 "\nUid: " $3 "\nGid: " $4 "\nComment: " $5 "\nHome: " $6 "\nShell: " $7 "\n---"}} /etc/passwd

関連情報