Yash 2 その 41: times と umask コマンド
times コマンドと umask コマンドを実装した。
umask というかファイルのアクセス権限は八進数で表すことが多いけれども、数値のどのビットがどの権限を表すのかについては全ての POSIX 環境で統一されているとは限らない。従って、umask や chmod コマンドを使う際にはアクセス権限は八進数よりも u=rwx,g=rx,o=rx
のような式で入力した方が間違いがない。
もっとも、SUS 準拠の環境ではビットの位置は決まっているし、最近の殆どの UNIX 的環境はこれに倣ってビットを決めているので、実際には問題になることはないと思うが。
普通のシェルでは単に umask を実行するとその時の umask 設定値が八進数で出てくるが、POSIX はこれが八進数でなければならないとはいっておらず、umask の出力結果を後で umask コマンドに引数として渡せれば良いとだけしている。一方 umask -S を実行すると既述のような式の形式で出力しなければならないことになっているが、この式はそのまま umask に引数として渡せる形式なので、umask が umask -S と同じ出力を出してもまったく構わないことになる。
とはいえ yash でも他のシェルと同様に umask は八進数を出力するようにした。
| 固定リンク
コメント