Ubuntuのpasswdファイルから要素を切り出した話
お疲れ様です。瀬野です。
ソースコードを見やすくしたいのでデザインを変更しました。
はてなって便利。しゅき…
あと、Perlに入学してから1週間経ちました。
現場が忙しくなる前に本を読み進めながら色々書いてました。
んで、こうすればUbuntuの各ユーザ情報を引っ張り出せるみたいなコードが有ったので、
書いてみました。
login.pl
#! /usr/bin/env perl use strict; use warnings; open(FILE, '/etc/passwd') or die "$!"; foreach my $line (<FILE>){ my( $login, $passwd, $uid, $gid, $realname, $home, $shell, ) = split(/:/, $line); print "login = $login, realname = $realname\n"; } close(FILE);
実行した結果がこちらです。
Ubuntuには/etc配下にpasswdファイルというものがありまして、
ログインの際に必要な情報が含まれてます。とても大事なファイルですね。
2.2 パスワードファイル /etc/passwd の構造
↑参考文献はこちら
今回出力したものはユーザ名と、コメント欄で、パスやシェルなどは出力していません。
ひとまず自分とゲストのログイン名だけを書き出しました。
実行結果を全部書き出しても問題ないような気はしますが…念のため省きました。
実際は切り取った出力結果の上にpasswdファイルの中身が大量にあります。
読みやすいコードになっているかは、自信ありません。サーセン
あとは、本を読みながら遊びでこんなのも書きました。
他にも何個か書いてますが、書き出すとキリがないのでまた今度。
Git出来るようになったら楽なんだろうなあ…
guruguru.pl
#! /usr/bin/env perl use strict; use warnings; my $a = 1; my $b = 3; my $c = 5; my $d = 7; my $e = 9; #ヘビロテ foreach (0..20){ print "$a,$b,$c,$d,$e\n"; ($a, $b, $c, $d, $e) = ($b, $c, $d, $e ,$a); }
奇数がぐーるぐる回ってます。
ジョジョが好きな人は素数にでもすればいいのではと思います(適当)
変数の書き方がこれだとあまりよろしくない気もするので、その辺はまたおいおいレベルを上げながら…
続きはまた次回