ã¯ããã«
POSIX ã®èªèšŒ ãŸã㯠Unix ã®èªèšŒ ãååŸããŠããã° POSIX ã«æºæ ããŠãããããæã£ãŠã¯ããªãã§ããããïŒ ãããã«ãã®ãšããã§ããPOSIX ã«æºæ ããŠããŸãããã ãããã©ã«ãç¶æ ã§ POSIX ã«æºæ ããŠãããšã¯éããŸããã§ããç¹ã«æŽå²ãé·ãåçš Unix ã§ã¯éå»ã«ãªãªãŒã¹ããããŒãžã§ã³ãšã®äºææ§ãéèŠããŠæŽå²ç㪠Unix = System V äºæã®åäœã§ãã**ãäºæã¢ãŒãããããã©ã«ãã«ãªã£ãŠããããšãå€ããPOSIX æºæ ã¢ãŒãã**ã«ã¯ãªã£ãŠããŸãããïŒæ³šæ ãäºæã¢ãŒãããPOSIX æºæ ã¢ãŒããã¯ç§ã䟿å®äžã€ããååã§ããïŒ
POSIX ã¯ç§»æ€æ§ã®åé¡ãæ¹åããããã«äœãããæšæºèŠæ Œãªããã§ããã**ãäºæã¢ãŒããã§æ£ããåããœãããŠã§ã¢ãéçºããŠãããšããããšã¯éã« POSIX æºæ ã®ç°å¢ã«ç§»æ€ãããšãã«åããªãå¯èœæ§ããã**ãšããããšã§ããPOSIX æºæ ã®ã·ã¹ãã ãå°å ¥ãããšããŠããPOSIX æºæ ã¢ãŒããã«å€æŽããŠããªããã°å®ã®æã¡è ãã§ããããŒããŠã§ã¢ãæ°ããããŠãã·ã¹ãã ç°å¢ã ãäºæã¢ãŒããã®ãŸãŸã§ã¯ããªãã®ããã® POSIX ãªãã ïŒãšãªã£ãŠããŸããŸãã
POSIX ãæåã«æšæºåãããã®ã¯ 1988 幎ïŒã·ã§ã«ãšãŠãŒãã£ãªãã£ãæšæºåãããã®ã¯ 1992 幎ïŒããã 30 幎ãåã®è©±ã§ãããã以åã®å€ãã·ã¹ãã ã¯ãã䜿ãããŠãªãã¯ãã§ããå°ãªããšã UNIX ã®èªèšŒïŒUNIX 95 / 03 / V7ïŒãååŸããŠããã·ã¹ãã ã§ããã° POSIX ã«æºæ ããŠããŸããã·ã¹ãã ãæŽæ°ãããšãã«ä»ãŸã§ãããå€ã OS ãå ¥ããããšã¯ãŸããããŸããããä»æŽ POSIX 以åã®ã·ã¹ãã ãŸã§èæ ®ããå¿ èŠããããšã¯æããŸãããå°æ¥ã®äºãèããã®ã§ããã°ç§»æ€å 㯠POSIX æºæ ã®ç°å¢ã§ããå¯èœæ§ãé«ãããã§ãPOSIX æºæ ã¢ãŒãã«ããŠããã¹ãã§ããããïŒä»ã®æä»£ã«äž¡å¯Ÿå¿ã§éçºããæå³ããããšã¯æããŸããããããã©ã¡ãã§ãåãããã«äœã£ãŠããã°ä»ãããPOSIX æºæ ã¢ãŒãããæå¹ã«ããŠãåãã¯ãã§ãããããŠå€ãç°å¢ãåãæšãŠãã°ç¡é§ã«äž¡å¯Ÿå¿ããéçºã³ã¹ããæžãããŸããïŒ
泚æäºé
å®ãèšããŸããšç§ã¯åçš Unix ãæ¥åã§äœ¿ã£ãããšã¯ãããŸãããSolaris ã«é¢ããŠã¯ç¡æã§è©Šããã€ã¡ãŒãžãé åžãããŠããŸãã®ã§ãã¹ãç°å¢ãçšæããŠããŸããããã以å€ã® åçš Unix ã¯ããã¥ã¡ã³ãã調ã¹ãã ãã®æ å ±ãšãªããŸãããã®ãããªç¶æ ã§ç§ããŸãšããã¹ããªã®ãæ©ãã ã®ã§ãã teratail ã§ã®è³ªåãèŠãŠãå®ã¯åçš Unix ãæ¥åã§äœ¿ã£ãŠãã人ã§ããPOSIX æºæ ã¢ãŒãããããŸãç¥ããªãã®ã§ã¯ãªãã®ãïŒãšæã£ãã®ã§ç¡ãããã¯ãã·ã ãããããééã£ãŠãããšããŠããäœãããæ å ±ãéãŸãã ãããšããããšã§èšäºã«ããŸããã
UNIX ã®èªèšŒã«ã€ããŠ
å€ãã®åçš Unix ãååŸããŠããã®ã¯æ£ç¢ºã«ã¯ POSIX ã®èªèšŒã§ã¯ãªã UNIX ã®èªèšŒã§ããUNIX ã®èªèšŒã¯ POSIX æºæ ã«å ããPOSIX ã§ã¯ãªãã·ã§ã³æ©èœãšãªã£ãŠãã XSI / UP ãªãã·ã§ã³ ãå¿ é ã«ãããã®ã§ããããããã® UNIX ã®èªèšŒãšå¯Ÿå¿ããŠããæšæºèŠæ Œã以äžã«èšããŸãã
- 1993: UNIX 93 (?) = XPG3
- POSIX ã§ã¯ãªã SVID3 ãããŒã¹ãšãããã®
- 1995: UNIX 95 (SUSv1) = XPG4v2 = Issue 4, Version 2
- XPG4v2 ãªã©ãåæ§æãããã®ã§ POSIX.1 ãš POSIX.2 ãããŒã¹
- 1998: UNIX 98 (SUSv2) = XPG5 = Issue 5
- 2003: UNIX 03 (SUSv3) = XPG6 = Issue 6 = POSIX.1-2001 (æçµæ¹å®ç㯠2004 Edition)
- 2008: UNIX V7 (SUSv4) = XPG7 = Issue 7 = POSIX.2-2008 (æçµæ¹å®ç㯠2018 EditionïŒ
2021 幎çŸåšãå€ãã®åçš Unix ïŒmacOS ãå«ãïŒãååŸããŠãã UNIX ã®èªèšŒã¯ãäžã€åã® UNIX 03 ã§ããææ°ã® UNIX V7 ã«å¯Ÿå¿ããŠããã®ã¯ AIX 7.2 以éããããããããŸãããå°ãå€ãã§ãããã®èšäºã®å 容ã«åœ±é¿ã¯ãããŸããã
åè POSIXãšUnixé¢é£ã®æšæºèŠæ ŒãšæŽå²å¹Žè¡š (IEEE, SVID, XPG, SUS)
ãªãããã©ã«ã㯠POSIX æºæ ã¢ãŒãã§ã¯ãªãã®ãïŒ
ãªã UNIX ã®èªèšŒãšãããã®ããããªããããã©ã«ãã¯ãäºæã¢ãŒããã«ãªã£ãŠããã®ãïŒãã®çç±ã¯èãããŸã§ããããŸãããPOSIX ãæŽå²ç㪠Unix ïŒSystem VïŒ ãšã®äºææ§ãåãæšãŠãŠãããããšèšã£ãŠããç°¡åã« Unix ãã³ããŒã¯ System V çãåãæšãŠãããããããªãããã§ããUnix ãã³ããŒã«ãšã£ãŠã¯ POSIX ãç»å Žãããããåãã䜿ã£ãŠããã客æ§ã®æ¹ã倧äºã§ãã
ãã¡ãã POSIX ãããããäºæ ãçè§£ããŠããªãããããããŸãããPOSIX ãæŒãä»ããçµæãUnix ãã³ããŒã POSIX ã«æºæ ããªããªã£ãŠããŸã£ãŠã¯ POSIX èªèº«ãå°ããŸãããã®ããããã©ã«ãããäºæã¢ãŒããã§ãã£ãŠããããã仿§ã¯æå°éã§åãã³ããŒãæ¡åŒµæ©èœãæèŒããããšã劚ããªããã®ãšãªã POSIX ã«æºæ ãããããããªãããæ¡ä»¶ãšãªããŸãããããããçµæ Unix ãã³ããŒã¯ POSIX ã«æºæ ããããã«ãªã POSIX ã¯æåããæšæºèŠæ ŒãšãªããŸãããããããã®äžæ¹ã§ Microsoft 㯠Windows NT ãšãã Unix ãšã¯å šãéã OSãåã°ç¡çãã POSIX æºæ ãšèªããããããšã«æåããããã§ããããã¯å¥ã®è©±ã§ãã
POSIX æºæ ã¢ãŒãã«ããªããšã©ããªãïŒ
ãŸããã¯ããã«ãã§ç޹ä»ãã teratail ã§ã®è³ªåïŒawkã³ãã³ãã䜿çšããåäžã®ã·ã§ã«ã¹ã¯ãªãããSolarisãšLinuxã§ããããå®è¡ãããšãããç°ãªãå®è¡çµæãè¿ã£ãŠããŠããŸãïŒã®è©±ã§ããæŽå²ç㪠awk ã¯é¢æ°ã䜿ããªãã£ãããš POSIX æºæ ã® awk ã«æ¯ã¹ãŠå€§ããæ©èœãå£ããŸãããã㊠Solaris 11 ã§ã¯ããã©ã«ãç°å¢ã® awk 㯠POSIX ãšäºææ§ããªãå€ã awk ãªã®ã§ãããã®ãã質åè ã®ç§»è¡å ã® Solaris 11 ã®ç°å¢ãšç§»è¡å ã® Linux ç°å¢ãšã§ awk ã®æåã«éããçºçããŠããŸããããŸã質åè ã¯ãã®ä»ã«ãå€ãã®ã·ã§ã«ã¹ã¯ãªãããæ±ããŠããä¿®æ£ã®å¿ èŠãããã調æ»å€æããããšã®ããšãããä»®ã«æåãã Solaris 11 ã POSIX æºæ ã¢ãŒãã«å€æŽããã®äžã§ã·ã§ã«ã¹ã¯ãªãããåãããŠããã°ãSolaris 11 ãã Linux ãžã®ãã€ã°ã¬ãŒã·ã§ã³ãå®ç§ã§ã¯ãªãã«ããåé¡ã¯å°ãªãã£ãã¯ãã§ãã
ããäžã€ã®äŸãšã㊠tr ã³ãã³ããæåã ãšæããŸããäŸãã°æååã®äžã«å«ãŸããæ°åãåé€ããå Žåã® POSIX æºæ ã®æ¹æ³ã¯ tr -d '0-9' ã§ãããã®åäœã¯å
ã
BSD ç³»ã§ã®åäœã§ããæŽå²ç㪠UnixïŒSystem V ç³»ïŒã§ã¯ tr -d '[0-9]' ãšã«ãã³ãæžãå¿
èŠããããŸããPOSIX.2 仿§ã®çå®ã®æïŒ1992 幎ïŒã« POSIX 㯠System V ç³»ã®åäœã§ã¯ãªã BSD ç³»ã®åäœãæ¡çšããŸããããã®ãã POSIX ã«æºæ ããç°å¢ã§ã¯ã«ãã³ã¯äžèŠã§ããããã POSIX æºæ ã¢ãŒãã®ååšãç¥ããªããã° tr -d '[0-9]' ãšæžããªããšãããªããšåéãããŠããŸãå€ãæžãæ¹ãç¶ããŠããŸãã§ãããããããŠå°æ¥å¥ã®ç°å¢ã«ç§»è¡ããæã«åé¡ãåŒãèµ·ãããŠããŸããŸãã
ãã§ã«äºæã¢ãŒãã§éçºããŠããŸã£ãŠããå Žå
ã¹ã¯ãªããã®æ°ãå°ãªããã°ä¿®æ£ã¯ãã»ã©å€§å€ã§ã¯ãªãã§ããããã倧éã«ã¹ã¯ãªããããã£ãŠäžåºŠã«ãã¹ãŠå¯Ÿå¿ããã®ãé£ããå Žåã¯å°ããã€ä¿®æ£ããŠãããªããã°ãªããªãã§ãããã
ãã®ããã®ã·ã§ã«ã¹ã¯ãªããããã°ã©ãã³ã°ã®ãã¯ããã¯ã¯ããã®ã§ããããã®äœçœã¯ãããæžãã«ã¯çãããŸããã²ãšãŸãããã¡ããã§ãã®äžéšã玹ä»ããŠããŸãã®ã§åèã«ããŠãã ããã
POSIX æºæ ã¢ãŒãã«ããæ¹æ³
Solaris
åäœç¢ºèªããŠããç°å¢ã¯ Solaris 10 ãš Solaris 11 ã§ããSolaris ã§ã¯ POSIX ã«æºæ ããã³ãã³ããæšæºã®ãã¹ãšå¥ã®æã«çœ®ãããŠããŸãã
| ãã¹ | 察å¿ããæšæºèŠæ Œ | åè |
|---|---|---|
/usr/sbin:/usr/bin |
SVID3 / XPG3 | é POSIX |
/usr/xpg4/bin |
POSIX.2 / POSIX.2a / SUS / SUSv2 / XPG4 | |
/usr/xpg6/bin |
POSIX.1-2001 / SUSv3 |
äžèšã®ãã¹ãç°å¢å€æ°ã« PATH ã«èšå®ããããšã§ Solaris ã®ç°å¢ã¯ POSIX æºæ ã¢ãŒããšãªããŸããå®éã«ã¯ãããã®ãã¹ãæåã§èšå®ããã®ã§ã¯ãªã getconf PATH ã䜿çšããŸããç§ã®ç°å¢ã§ã¯ä»¥äžã®ãããªãã¹ãè¿ã£ãŠããŸããã
$ echo "$PATH" # ããã©ã«ã
/usr/sbin:/usr/bin
$ getconf PATH # on Solaris 10
$ /usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin
$ getconf PATH # on Solaris 11
/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin:/opt/developerstudio12.5/bin:/opt/solarisstudio12.4/bin
$ PATH="$(getconf PATH):$PATH" # åè èšå®æ¹æ³äŸ
è£è¶³ /usr/xpg6/bin 㯠Solaris 10 ã®ç°å¢ã«ååšããŠããã®ã§ãã getconf PATH ã§ã¯ååŸã§ããŸããã§ããïŒçç±ã¯æªèª¿æ»ïŒããŸãç§ã¯ Solaris 10 ãããã確èªããŠããŸããããautoconf ã®ããã¥ã¡ã³ããã«ãããš Solaris 2.0 (1992) ã®é ãã /usr/xpg4/bin ã¯ãã£ããããªã®ã§ POSIX.2 ã®æšæºèŠæ Œãçå®ããããšããã POSIX ã«æºæ ãããããšãã§ããŠãããšããããšãªã®ã§ãããã
ã³ãã³ãäžèЧ
åèãŸã§ã«ããããã«ãã£ã¬ã¯ããªã«ãã POSIX æºæ ã®ã³ãã³ãäžèЧã§ãããããã®ã³ãã³ã㯠System V ç³»ãšãªã«ãããã®éãããããšæãããã³ãã³ãã§ãããã POSIX æºæ ã¢ãŒãã䜿ã£ãŠããããäºæã¢ãŒããåæãšããŠæžãããã·ã§ã«ã¹ã¯ãªãããããå Žåããããä»ã®ç°å¢ïŒLinuxïŒãªã©ã«ç§»è¡ããæã«ã¯ã以äžã®ã³ãã³ãã®äºææ§ã«æ°ãã€ããå¿ èŠããããšããããšã§ãã
Solaris 10
$ ls /usr/xpg4/bin/
alias chgrp df fc grep ls nohup sort
unalias ar chown du fg hash m4 od
stty vedit at command ed fgrep id make
pr tail vi awk cp edit file ipcs
more read test view basename crontab egrep find
jobs mv rm tr wait batch ctags env
get kill nice sccs type who bg date
ex getconf link nl sed ulimit cd delta
expr getopts ln nm sh umask
$ ls /usr/xpg6/bin/
bc dc edit expr ls tr vi xargs
crontab ed ex getconf stty vedit view
Solaris 11
$ ls /usr/xpg4/bin/
alias chgrp du fgrep ipcs mv pr tr
ar chown ed file jobs nice read type
at command egrep find kill nl rm ulimit
awk cp env getconf link nm sed umask
basename crontab ex getopts ln nohup sh unalias
batch ctags expr grep ls od stty vi
bg date fc hash m4 patch tail wait
cd df fg id more pfsh test who
$ ls /usr/xpg6/bin/
bc dc ex getconf patch tr xargs
crontab ed expr ls stty vi
AIX
AIX ã§ã¯ããã€ãã®ç°å¢å€æ°ã䜿çšããŸãã
-
XPG_SUS_ENV:ONã«èšå®ãããš POSIX æºæ ãšãªã -
XPG_UNIX98:OFFã«èšå®ãããš UNIX03 æºæ ãšãªã -
OCTAL_CONST:ONã«èšå®ãããš Korn ã·ã§ã«ã® 8 鲿° / 16 鲿°ã®å®æ°ã®å€æåŠçã POSIX æºæ ãšãªãïŒksh88 ã ãšecho $((010))ã 10 ã«ãªã£ãŠããŸãä»¶ïŒïŒ
| åèäžèЧ | 察å¿ããæšæºèŠæ Œ |
|---|---|
| UNIX 98 | SUSv2 / POSIX.1 + POSIX.2 / Issue 5 |
| UNIX 03 | SUSv3 / POSIX.1-2001 / Issue 6 |
| UNIX V7 | SUSv4 / POSIX.1-2008 / Issue 7 |
åè
HP-UX
ç°å¢å€æ° UNIX_STD ãèšå®ããŸãã
-
UNIX95: èšå®ãããš UNIX 95 -
UNIX_STD:95ãŸãã¯1995ãèšå®ãããš UNIX 95ã2003ãèšå®ãããš UNIX 03
UNIX_STD=2003 # åè èšå®äŸ
| åèäžèЧ | 察å¿ããæšæºèŠæ Œ |
|---|---|
| UNIX 95 | SUSv1 / POSIX.1 + POSIX.2 / Issue 4 |
| UNIX 03 | SUSv3 / POSIX.1-2001 / Issue 6 |
åè
Linux (GNU)
Linux ã§ã¯ç°å¢å€æ° POSIXLY_CORRECT ãš _POSIX2_VERSION ã䜿çšããŸãã
ãŸã POSIXLY_CORRECT ã§ãããGNU 㯠POSIX ã§æšæºåãããåŸã«ãœãããŠã§ã¢ã®å€ãã宿ããããšããããåºæ¬çã«ã¯ POSIX ã«æºæ ããŠããŸããããã "æå³çã«" POSIX ã«æºæ ãããªãã£ãæãããã€ããããŸãããã㯠GNU ã¯ãŠãŒã¶ãŒã®å©äŸ¿æ§ãäžçªã«èããŠãã POSIX ãã絶察ã«å®ããªããšãããªã決ãŸããã§ã¯ãªãã圹ã«ç«ã€ãããããªããšããã¬ã€ãã©ã€ã³ããšããŠæ±ã£ãŠããããã§ãããšã¯èšããããæ ¹æ ã«ãLinux 㯠POSIX ã«æºæ ããŠãªãïŒããšããæ»æããããŠãå°ãããã§ããã®åé¿çãšããŠïŒéŠ¬é¹¿ããïŒ POSIX ã®æšæºèŠæ Œã«æºæ ããããã®ç°å¢å€æ°ã POSIXLY_CORRECT ã§ãããã®ãããªçµç·¯ã§äœããããã®ã§ãããã POSIXLY_CORRECT ãèšå®ãããš POSIX ãžã®æºæ 床ã¯é«ãŸããŸããããŠãŒã¶ãŒã®å©äŸ¿æ§ã¯æªããªãã®ã§ã ã©ãããŠãå®å
šãª POSIX æºæ ãå¿
èŠãªãéãèšå®ããªããŠè¯ããšæããŸãã
ããäžæ¹ã® _POSIX2_VERSION ã¯ååãããåããéãæºæ ãã POSIX ã®ããŒãžã§ã³ãæå®ããŸããPOSIX ã®ããŒãžã§ã³ã«ãã£ãŠçްããåäœãç°ãªãã®ã§ã©ã® POSIX ã«æºæ ããã®ãïŒãšããæå®ã§ããæå®ã§ããå€ã¯ä»¥äžã®ãšããã§ãã
| _POSIX2_VERSION | Standards |
|---|---|
199209 |
POSIX 1003.2-1992 |
200112 |
POSIX 1003.1-2001 / UNIX 03 / SUSv3 / Issue 6 |
200809 |
POSIX 1003.1-2008 / UNIX V7 / SUSv4 / Issue 7 |
åè
POSIX æºæ ã¢ãŒãã§æåãå€ããã³ãã³ã
åèãŸã§ã«ç°å¢å€æ° POSIXLY_CORRECT ãš _POSIX2_VERSION ã«ãã£ãŠæåãå€ãããã®ãããã€ã玹ä»ããŸãã
pwd
ãªãã·ã§ã³ãªãã§ pwd ã³ãã³ããåŒã³åºããå Žå POSIX pwd ã®ä»æ§äžã¯ pwd -L ã®åäœã«ãªããšèŠå®ãããŠããŸããå®éã·ã§ã«ãã«ãã€ã³çã® pwd ã³ãã³ã㯠pwd -L ãšããŠåäœããŸããããããªããå€éšã³ãã³ãç㯠pwd -P ãšããŠåäœããŸããããã¯ããããäºææ§ã®ããã®ä»æ§ã§ãå®ã¯ Linux 以å€ã®ç°å¢ã§ãå€éšã³ãã³ãçã® pwd 㯠POSIX ã«æºæ ãã pwd -P ãšããŠåäœããŸãããã®åäœã¯ç°å¢å€æ° POSIXLY_CORRECT ãå®çŸ©ãããš POSIX æºæ ã®åäœãããããã«ããããŸãã
sort
ãã¡ã ã«ç°¡æœã«ãŸãšããŠãããŸãã翻蚳ããã®ãé¢åãªã®ã§æ¥æ¬èªèš³ãåŒçšããŸãã
POSIX ã®æ°ããããŒãžã§ã³ããå€ãããŒãžã§ã³ãšéäºæã§ããããšãããšãã©ãããã
ããšãã°ãPOSIX ã®å€ãããŒãžã§ã³ã§ã¯ãâsort +1â ãšããã³ãã³ãã¯ã åå ¥åè¡ã®äºçªç®ä»¥åŸã®ãã£ãŒã«ãã«åºã¥ããŠãè¡ã®äžŠã¹æ¿ããè¡ãããšã«ãªã£ãŠããã
ãšããããPOSIX 1003.1-2001 ã§ã¯ãåãã³ãã³ãã â+1â ãšããååã®ãã¡ã€ã«ã®è¡ãäžŠã¹æ¿ããããšã«ãªã£ãŠããã ãã£ãŒã«ãã«åºã¥ããäžŠã¹æ¿ããè¡ãã«ã¯ãâsort -k 2â ãšããå¥ã®ã³ãã³ãã䜿ããªããã°ãªããªãã®ã ã
ãããŠãããã«ãããããããšã«ãPOSIX 1003.1-2008 ã§ã¯ãå€ãåäœãšæ°ããåäœã®ã©ã¡ããããå®è£ ãèªããããŠããã
埡䜿çšã®ã·ã¹ãã ã POSIX 1003.1-2001 ã«æºæ ããŠããã®ã«ãåãããŠãããœãããŠã§ã¢ã âsort +1â ã âtail +10â ãšãã£ãæ§æ¥ã®çšæ³ãæã£ãŠããå Žåã«ã¯ãç°å¢ã« â_POSIX2_VERSION=200809â ãèšå®ããããšã§ãäºææ§ã®åé¡ãåé¿ããããšãã§ããã
ãã®ããã« POSIX ã®ããŒãžã§ã³ã«ãã£ãŠæåãç°ãªãå ŽåããããããåŸãæšæºèŠæ Œãå³å¯ã«æå®ããã®ãç°å¢å€æ° _POSIX2_VERSION ã§ãã
df
ãã¡ãããã¡ãïŒèšŒææžã®æå¹æéåãã¿ãããªã®ã§äžå¿ã¢ã¯ã»ã¹ã¯èªå·±è²¬ä»»ã§ïŒã§ãªãã£ãŒãã»ã¹ããŒã«ãã³ãæçŽã£ãŠãããã€ã§ããGNU çã® df ã³ãã³ãã¯ããã©ã«ãã§ã¯ 1 KB åäœã§ãããã¯æ°ã衚瀺ããŸãã POSIX ã§ã¯ 512 ãã€ãåäœã§ãããã¯æ°ã衚瀺ããªããã°ãããŸãããç°å¢å€æ° POSIXLY_CORRECT ãå®çŸ©ããããšã§ POSIX ã«æºæ ã«åäœãå€ãããŸãã
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 15869788 0 15869788 0% /dev
tmpfs 3179864 3296 3176568 1% /run
:
$ POSIXLY_CORRECT= df
Filesystem 512B-blocks Used Available Use% Mounted on
udev 31739576 0 31739576 0% /dev
tmpfs 6359728 6576 6353152 1% /run
:
æ¬åœã«äžäœèª°ã 512 ãã€ã衚瀺ã§å¬ãããšæãã®ã§ããããïŒã¡ãªã¿ã«ãmacOS ãš OpenBSD 㯠512 ãã€ããFreeBSD ãš NetBSD 㯠1 KB åäœã§ãããã¯æ°ã衚瀺ãããŸããã
äœè«ã§ãããç°å¢å€æ° POSIXLY_CORRECT 㯠å
ã
㯠POSIX_ME_HARDER ã ã£ãããã§ããããã¡ã³ããŒã«èª¬åŸãããŠå€æŽããã®ã§ããããªãã£ãŒãã»ã¹ããŒã«ãã³ã¯ãã®å€æŽãåŸæããŠããããã§ããPOSIX æºæ ãå¿
ãããæ£ãã (CORRECT) ããã§ã¯ãªããHARDER ã¯å°é£ãªããšã«å¯Ÿããåªåãšãããã¥ã¢ã³ã¹ã ãšããããšãªã®ã ãšæããŸãã
macOS
macOS ã§ã¯ç°å¢å€æ° COMMAND_MODE ã§ POSIX ã«æºæ ãããã©ãããã©ã®ããŒãžã§ã³ã«æºæ ããããæå®ããŸããmacOS 㯠Darwin ã®å身㮠NeXTSTEP ãå«ã㊠POSIX æšæºå以éã«ç»å Žãã OS ã§ãããããPOSIX 以åãšã®äºææ§ãä¿ã€å¿
èŠã¯ãããŸããã§ããããã®ããããã©ã«ãç¶æ
ã§ POSIX ã«æºæ ããŠããŸããç°å¢å€æ° COMMAND_MODE ãèšå®ããã®ã¯ã¬ã¬ã·ãŒã¢ãŒãã«ãããšãã§ãã
man 5 compat ïŒåè: compat(5)ïŒã«ãããšãç°å¢å€æ° COMMAND_MODE æå®ã§ããå€ã¯ãlegacy ãš unix2003 ã ãã®ããã§ããunix2003 㯠UNIX 03 ãæå³ããŸããïŒmacOS 11.0 Big Sur 㯠UNIX 03 ã§èªèšŒãåããŠããŸãïŒ
| åèäžèЧ | 察å¿ããæšæºèŠæ Œ |
|---|---|
| UNIX 03 | SUSv3 / POSIX.1-2001 / Issue 6 |
ããã¥ã¡ã³ãã«ãããš legacy ã«ãããš Mac OS X 10.3 ã®æåã«åºæ¥ãéãè¿ã¥ããããã§ããwikipedia ã® Darwin ã®æ
å ±ã«ãããš Mac OS X 10.3 ãç»å Žããã®ã¯ 2003 幎ãªã®ã§ãããããã®ææã« POSIX æºæ ã®ããã®å¯Ÿå¿ãè¡ãããã®ååŸã§äºææ§ã«é¢ããåé¡ã倧ãããªã£ãããç°å¢å€æ° COMMAND_MODE ã远å ããã®ã§ãããã詳现ã«ã¯ Mac OS X 10.3 (2003) ã§ãFreeBSD 5ã«å¯Ÿå¿ããBSDã¬ã€ã€ãŒããæèŒããŠãããIntel Mac ã®ç»å Žãã Mac OS X 10.4 (2005) ã§ã64ãããBSDã¬ã€ã€ãŒããæèŒããMac OS X v10.5 (2007) ã§å®å
šãª POSIX æºæ ãå®çŸããæžãããŠããŸãã
äœè«ã§ããããã®é ã«æžããããšæããã UNIX / Linux ã¢ããªã±ãŒã·ã§ã³ã OS X ã«ç§»æ€ããããã®ããã¥ã¡ã³ã Porting UNIX/Linux Applications to OS X ã«ã¯ BSD ã®ãŠãŒã¶ãŒç°å¢ïŒã³ãã³ãïŒã¯ã€ã³ã¹ããŒã«ãããªãå¯èœæ§ããããšæžãããŠããŸããä»ããã®æ å ±ãåœãŠã¯ãŸãã®ãã¯äžæã§ãããåœæã¯ãMac OS X æšæºã® BSD ã³ãã³ãïŒã·ã§ã«å«ãïŒããããããšãæ³å®ãã¹ãã§ã¯ãªãã£ãã®ãããããŸããããã®è©±ã¯ç§ãããåèã«ãããµã€ãã®ã~sven_mascheck/ - Various system shellsãã§ç¥ããŸãããïŒããŸãé¢ä¿ãªã話ãªã®ã§ãããã©ããã§æžããããšæã£ãŠãã©ãŠã¶ã®ã¿ãããã£ãšéãã£ã±ãªãã ã£ãã®ã§ããããããã§è§£æŸããããšãã§ããŸããïŒ
An OS X user should never have to resort to the command line to perform any task in an application with a graphical user interface. This is especially important to remember since the BSD user environment may not even be installed on a userâs system. The libraries and kernel environment are of course there by default, but the tools may not be.
BSD
BSD ç³»ãã¹ãŠãã¡ãããšèª¿ã¹ãããã§ã¯ãªãã®ã§ãããFreeBSD ã«é¢ããŠèšãã°ãã©ã® POSIX ã®ããŒãžã§ã³ã«åŸããïŒããäžæ¬ã§æå®ããããã®ç°å¢å€æ°ã¯èŠã€ããããŸããã§ãããã ãããšãã£ãŠ FreeBSD ã POSIX ã«å®å šæºæ ããŠãããšããããã§ã¯ãããŸãããFreeBSD ã§ã¯ã©ãããäžã€ã®ç°å¢å€æ°ã§æå®ããã®ã§ã¯ãªããåå¥ã®ç°å¢å€æ°ã«ãã£ãŠå¶åŸ¡ããæ¹éã ãšæãããŸãã
äŸãã° Linux (GNU) ã®è©±ã§ã玹ä»ãã df ã®ãããã¯ãµã€ãºã¯ FreeBSD ã§ã POSIX ã«æºæ ããŠããã 1 KB ã§è¡šç€ºãããŸãããã®ãããã¯ãµã€ãºã¯ç°å¢å€æ° BLOCKSIZE ã§æå®ããããšãã§ããŸãã
$ df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/gpt/rootfs 4053308 3736036 -6992 100% /
devfs 1 1 0 100% /dev
$ BLOCKSIZE=512 df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/gpt/rootfs 8106616 7472072 -13984 100% /
devfs 2 2 0 100% /dev
ä»ã«ãã³ãã³ãããšã«ãããããããšæãã®ã§ããããããã«å€ãããã®ã§è©³ãã確èªããŠããŸãããããã¥ã¡ã³ãã® STANDARDS ã®é ç®ãèŠããš POSIX ã«å¯ŸããäŸå€äºé ãæžããŠãããã®ãèŠã€ãããŸããããããåç §ããã° POSIX æºæ ã«ããããã®æ¹æ³ãåããã®ã§ã¯ãªãããšæããŸãã
ãããã«
ãã®èšäºã§ã¯ã·ã§ã¢ãå€ããšæããã OS ããæžããŠããŸããã POSIX ã«æºæ ããŠããã·ã¹ãã ããã»ãŒæºæ ããŠããã·ã¹ãã ã¯ä»ã«ããããŸããã§ããå°ãªããšã POSIX ãŸã㯠UNIX ã®èªèšŒãåããŠããã·ã¹ãã ã§ããã°ãããã©ã«ãç¶æ ã§ POSIX ã«æºæ ããŠããªãã£ããšããŠã POSIX æºæ ã¢ãŒãã«ããæ¹æ³ãããã¯ãã§ããããã§ãªããã°èªèšŒãéãã¯ãããªãããã§ãããããã®ã·ã¹ãã ã§äœãããã°ãPOSIX æºæ ã¢ãŒããã«ãªããã¯ã·ã¹ãã æ¬¡ç¬¬ãªã®ã§ãã³ããŒãæäŸããŠããããã¥ã¢ã«ããã確èªãããšè¯ãã§ãããã
ãã ãæ®å¿µãªãã POSIX ã¯ç§»æ€æ§ã»äºææ§ã®åé¡ãå®å šã«ç¡ããããããªãã®ã§ã¯ãããŸããããWhat is POSIX? Richard Stallman explainsãã§ãªãã£ãŒãã»ã¹ããŒã«ãã³ã¯ãPOSIX ã«æºæ ããŠããã·ã¹ãã å士ã§ã现ããéããããããã®åé¡ã解決ããããã« GNU Autotools ãããããšããããšãèªã£ãŠããŸãããã®èšäºã§èšåãã autoconf ã¯ãã®ããŒã«ã®äžã€ã§ããautoconf ã®ããã¥ã¡ã³ããç§»æ€æ§ã®ããã·ã§ã«ããã°ã©ãã³ã°ãã«ã¯ãã·ã§ã«ã¹ã¯ãªããã«é¢ãã倿°ã®ç§»æ€æ§ã»äºææ§ã®åé¡ãæžãããŠããŸããïŒãã ãå€ã System V ã Bourneã·ã§ã«ããšãŸã§èæ ®ããå 容ã§ãã®ã§ POSIX æºæ ãåºæºã«ããã°ãããã«æžãããåé¡ã®å€ãã¯ç¡èŠããŠã§ãããšæããŸããïŒ
POSIX æºæ ã¢ãŒãã«ããŠããªãæ®ãç§»æ€æ§ã»äºææ§ã®åé¡ã¯ã·ã§ã«ã¹ã¯ãªããã®ããã°ã©ãã³ã°ãã¯ããã¯ã䜿ãããšã§ããçšåºŠè§£æ±ºããããšãã§ããŸãããã®æ¹æ³ã¯è¿ããã¡ã«èšäºã«ããã€ããã§ããããŸã㯠POSIX æºæ ã¢ãŒããæå¹ã«ãå¯èœãªéãç°å¢ã®éããæžããããšãéèŠã§ããPOSIX ã¯ãã®ããã«äœãããæšæºèŠæ Œã§ããããã䜿ããªããªããŠããããŸããã