From owner-man-jp-reviewer@jp.freebsd.org  Sat Nov 11 04:31:19 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id EAA33232;
	Sat, 11 Nov 2000 04:31:19 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from basil.veltec.co.jp (camomile.veltec.co.jp [211.2.223.5])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id EAA33227
	for <man-jp-reviewer@jp.freebsd.org>; Sat, 11 Nov 2000 04:31:18 +0900 (JST)
	(envelope-from yuko@veltec.co.jp)
Received: from lapis (lapis [192.168.0.14])
	by basil.veltec.co.jp (8.10.0.Beta6/3.7W07/04/00) with ESMTP
	id eAAJXAH12968;
	Sat, 11 Nov 2000 04:33:10 +0900 (JST)
To: man-jp-reviewer@jp.freebsd.org
X-SMIME-fingerprint: A7:AE:D4:83:9D:5B:A5:F2:24:8F:F4:DC:87:3C:72:89
From: Yuko Sasaki <yuko@veltec.co.jp>
Message-Id: <200011110428.ABF55580.LZPV@veltec.co.jp>
X-Mailer: Winbiff [Version 2.31PL1]
Date: Sat, 11 Nov 2000 04:28:07 +0900
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: man-jp-reviewer 3089
Subject: [man-jp-reviewer 3089] [CHECKED] tcsh.1 P32
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: yuko@veltec.co.jp

$B$f!A$3!w%t%'%k%F%C%/$G$9!#(B

P32$B$N%A%'%C%/$G$9!#(B
$B$^$@!"5?Ld$,$"$k$1$I!"L@F|$OM7$S$K9T$/$N$G$3$l$K$F(B(^^)$B!*(B

digit -> $B?t;z(B
$B$K$J$C$F$^$9!#$3$l$C$F!"(B0 or 1$B$N$3$H$G$9$h$M!)(B
$B$=$&$@$H!"?t;z$8$c$$$1$J$$5$$,$9$k$1$I!<!#(B

$B!&(B(convex $B%7%9%F%`$N$_M-8z(B) $B$K$7$F$"$j$^$9!#(B
$B%7%9%F%`$@$H(BOS$B$G$"$C$F$b$4$^$+$;$=$&!J!)!K$@$+$i!#(B
$B$J$s$K$b$D$$$F$J$$$H!"(Bconvex $B$C$F$J$K!)$C$F;W$C$A$c$&$7!#(B

--------------------------------------------------
\." .SS "Control flow"
.SS "$B@)8f%U%m!<(B"
\." The shell contains a number of commands which can be used to regulate the
\." flow of control in command files (shell scripts) and (in limited but
\." useful ways) from terminal input.  These commands all operate by forcing the
\." shell to reread or skip in its input and, due to the implementation,
\." restrict the placement of some of the commands.
$B$3$N%7%'%k$K$O!"(B
$B%3%^%s%I%U%!%$%k(B ($B%7%'%k%9%/%j%W%H(B) $B$d(B
($B@)Ls$O$"$k$b$N$NJXMx$J(B) $BC<Kv$+$i$NF~NO(B
$B=hM}$NN.$l$r@)8f$9$k$?$a$K;HMQ$G$-$k(B
$BB?$/$N%3%^%s%I$rHw$($F$$$^$9!#(B
$B$3$l$i$N%3%^%s%I$O!"(B
$BF~NO$N:FFI$_9~$_$dFI$_Ht$P$7$r9T$&$?$a(B
$B%7%'%k$r6/@)E*$KA`:n$7$^$9!#(B
$B$3$l$i$N<BAu$N$?$a$K!"4v$D$+$N%3%^%s%I$K$O@)8B$,$"$j$^$9!#(B
.PP
\." The \fIforeach\fR, \fIswitch\fR, and \fIwhile\fR statements, as well as the
\." \fIif-then-else\fR form of the \fIif\fR statement, require that the major
\." keywords appear in a single simple command on an input line as shown below.
\fIforeach\fR$B!"(B\fIswitch\fR$B!"(B\fIwhile\fR $BJ8$O!"(B
\fIif\fR $BJ8$N(B \fIif-then-else\fR $B7A<0$HF1MM$K!"(B
$B8e$G<($9$h$&$KF~NO9T$NC1FH$NC1=c%3%^%s%ICf$K(B
$B<gMW$J%-!<%o!<%I$,8=$l$k$3$H$rMW5a$7$^$9!#(B
.PP
\." If the shell's input is not seekable, the shell buffers up input whenever
\." a loop is being read and performs seeks in this internal buffer to
\." accomplish the rereading implied by the loop.  (To the extent that this
\." allows, backward \fIgoto\fRs will succeed on non-seekable inputs.)
$B%7%'%k$NF~NO$,%7!<%/2DG=$G$J$$>l9g$O!"(B
$B%k!<%W$,FI$_9~$^$l$k$H>o$KF~NO$r%P%C%U%!$7!"(B
$B$3$NFbIt%P%C%U%!$r%7!<%/$9$k$3$H$G%k!<%W$K$h$k(B
$B:FFI$_9~$_$r2DG=$K$7$^$9!#(B
($B$3$l$r5v2D$7$?7k2L!"(B
$B8eJ}$X8~$+$&(B \fIgoto\fR $B$,%7!<%/2DG=$G$J$$F~NO$K$D$$$F$b(B
$B@.8y$9$k$3$H$K$J$j$^$9!#(B)
\." .SS Expressions
.SS $B<0(B
\." The \fIif\fR, \fIwhile\fR and \fIexit\fR builtin commands
\." use expressions with a common syntax.  The expressions can include any
\." of the operators described in the next three sections.  Note that the \fI@\f
R
\." builtin command (q.v.) has its own separate syntax.
$BAH$_9~$_%3%^%s%I$N(B \fIif\fR$B!"(B\fIwhile\fR$B!"(B\fIexit\fR $B$O(B
$B6&DL$7$?J8K!$r;}$C$?<0$r;H$$$^$9!#(B
$B<0$K$O!"<!$N(B3$B$D$N%;%/%7%g%s$NCf$G@bL@$5$l$k(B
$BG$0U$N1i;;;R$r4^$a$k$3$H$,$G$-$^$9!#(B
\fI@\fR $BAH$_9~$_%3%^%s%I(B ($B;2>H(B) $B<+BN$O!"(B
$BJ8K!$r6h@Z$k$N$GCm0U$7$F$/$@$5$$!#(B
\." .SS "Logical, arithmetical and comparison operators"
.SS "$BO@M}1i;;;R(B, $B;;=Q1i;;;R(B, $BHf3S1i;;;R(B"
\." These operators are similar to those of C and have the same precedence.
\." They include
$B$3$l$i$N1i;;;R$O(B C $B$N1i;;;R$HF1MM$K(B
$BF1$8M%@h=g0L$H$J$C$F$$$^$9!#(B
$B1i;;;R$K$O!"<!$N$b$N$,$"$j$^$9!#(B
.IP "" 4
||  &&  |  ^  &  ==  !=  =~  !~  <=  >=
.br
<  > <<  >>  +  \-  *  /  %  !  ~  (  )
.PP
\." Here the precedence increases to the right, `==' `!=' `=~' and `!~', `<='
\." `>=' `<' and `>', `<<' and `>>', `+' and `\-', `*' `/' and `%' being, in
\." groups, at the same level.  The `==' `!=' `=~' and `!~' operators compare
\." their arguments as strings; all others operate on numbers.  The operators
\." `=~' and `!~' are like `!=' and `==' except that the right hand side is a
\." glob-pattern (see \fBFilename substitution\fR) against which the left hand
\." operand is matched.  This reduces the need for use of the \fIswitch\fR
\." builtin command in shell scripts when all that is really needed is
\." pattern matching.
$B$3$3$G$O1&$K$$$/$[$IM%@h=g0L$,9b$/!"(B
`==' `!=' `=~' `!~' `<=' `>=' `<' `>' `<<' `>>' 
`+' `\-' `*' `/' `%' $B$O(B
$B$=$l$>$l%0%k!<%W2=$5$l$F$*$j!"(B
$B%0%k!<%WFb$G$OF1$8%l%Y%k$K$J$j$^$9!#(B
$B1i;;;R(B `==' `!=' `=~' `!~' $B$O0z?t$rJ8;zNs$H$7$FHf3S$7$^$9!#(B
$BB>$N1i;;;R$OA4$F?t;z$GHf3S$7$^$9!#(B
$B1i;;;R(B `=~' `!~' $B$O(B `!=' `==' $B$H;w$F$$$^$9$,!"(B
$B:8B&$N%*%Z%i%s%I$K%^%C%A$9$k%0%m%V%Q%?!<%s(B
(\fB$B%U%!%$%kL>CV49(B\fR $B$r;2>H(B)
$B$r1&B&$KCV$/$3$H$,0[$J$j$^$9!#(B
$BI,MW$J$b$N$KBP$7$F$@$1%Q%?!<%s%^%C%A$r9T$&$N$G!"(B
$B%7%'%k%9%/%j%W%HCf$K$*$1$k(B
\fIswitch\fR $BAH$_9~$_%3%^%s%I$N;HMQ$NI,MW$r8:$i$7$^$9!#(B
.PP
\." Strings which begin with `0' are considered octal numbers.  Null or
\." missing arguments are considered `0'.  The results of all expressions are
\." strings, which represent decimal numbers.  It is important to note that
\." no two components of an expression can appear in the same word; except
\." when adjacent to components of expressions which are syntactically
\." significant to the parser (`&' `|' `<' `>' `(' `)') they should be
\." surrounded by spaces.
`0' $B$G;O$^$kJ8;zNs$O(B 8 $B?J?t$H$_$J$5$l$^$9!#(B
$B6u$NJ8;zNs$d0z?t$,$L$1$F$$$k$b$N$O(B `0' $B$H$_$J$5$l$^$9!#(B
$B$9$Y$F$N<0$N7k2L$O(B 10 $B?J?t$GI=$5$l$kJ8;zNs$K$J$j$^$9!#(B
$BFC$K!"<0$N9=@.MWAG$,F10l$NC18lCf$KJ#?t8D8=$l$k$3$H$O$J$$$H(B
$B$$$&$3$H$KCm0U$7$F$/$@$5$$!#(B
$BNc30$H$7$F!"(B
$B%Q!<%5$KJ8K!E*$KFCJL$J0UL#$r;}$D<0$N9=@.MWAG(B
(`&' `|' `<' `>' `(' `)') $B$,NY$j$K$/$k$3$H$O9=$$$^$;$s!#(B
$B$?$@$7!"$3$l$i$O6uGr$G6h@Z$i$l$k$Y$-$G$9!#(B
\." .SS "Command exit status"
.SS "$B%3%^%s%I=*N;%9%F!<%?%9(B"
\." Commands can be executed in expressions and their exit status
\." returned by enclosing them in braces (`{}').  Remember that the braces shoul
d
\." be separated from the words of the command by spaces.  Command executions
\." succeed, returning true, i.e., `1', if the command exits with status 0,
\." otherwise they fail, returning false, i.e., `0'.  If more detailed status
\." information is required then the command should be executed outside of an
\." expression and the \fBstatus\fR shell variable examined.
$B<0$NCf$G%3%^%s%I$r<B9T$9$k$3$H$,$G$-!"(B
$B<0$rCf3g8L(B (`{}') $B$G0O$`$H(B
$B=*N;%9%F!<%?%9$,JV$5$l$^$9!#(B
$BCf3g8L$O!"%3%^%s%I$NC18l$+$i6uGr$G6h@Z$k$3$H$r(B
$BK:$l$J$$$G$/$@$5$$!#(B
$B%3%^%s%I$N<B9T$,@.8y$7$?>l9g$O!"(B
$B??(B ($BNc$($P(B `1') $B$rJV$7$^$9!#(B
$B%3%^%s%I$,(B 0 $B$N%9%F!<%?%9$G=*N;$7$?>l9g!"(B
$B$^$?$O<B9T$K<:GT$7$?>l9g$O!"56(B ($BNc$($P(B `0') $B$rJV$7$^$9!#(B
$B$b$C$H>\$7$$%9%F!<%?%9$N>pJs$,I,MW$J>l9g$O!"(B
$B%3%^%s%I$r<0$N30It$G<B9T$7!"(B
$B%7%'%kJQ?t(B \fBstatus\fR $B$rD4$Y$F$/$@$5$$!#(B
\." .SS "File inquiry operators"
.SS "$B%U%!%$%kLd$$9g$o$;1i;;;R(B"
\." Some of these operators perform true/false tests on files and related
\." objects.  They are of the form \fB\-\fIop file\fR, where \fIop\fR is one of
$B$3$l$i$N1i;;;R$N$&$A4v$D$+$O(B
$B%U%!%$%k$H4XO"$9$k%*%V%8%'%/%H$K$D$$$F(B
$B??(B/$B56$NH=Dj$r9T$$$^$9!#(B
$B$3$l$i$O(B \fB\-\fIop file\fR $B$N7A<0$G$9!#(B
\fIop\fR $B$O<!$N$&$A$N$I$l$+(B 1 $B$D$G$9!#(B
.PP
.PD 0
.RS +4
.TP 4
.B r
\." Read access
$BFI$_<h$j%"%/%;%9(B
.TP 4
.B w
\." Write access
$B=q$-9~$_%"%/%;%9(B
.TP 4
.B x
\." Execute access
$B<B9T%"%/%;%9(B
.TP 4
.B X
\." Executable in the path or shell builtin, e.g., `\-X ls' and `\-X ls\-F' are
\." generally true, but `\-X /bin/ls' is not (+)
$B%Q%9Cf$K$"$k<B9T2DG=%U%!%$%k$d%7%'%kAH$_9~$_%3%^%s%I!#(B
$BNc$($P(B `\-X ls' $B$H(B `\-X ls\-F' $B$O0lHL$K??$G$"$j!"(B
`\-X /bin/ls' $B$O$=$&$G$O$J$$(B (+)
.TP 4
.B e
\." Existence
$BB8:_(B
.TP 4
.B o
\." Ownership
$B=jM-<T(B
.TP 4
.B z
\." Zero size
$B%5%$%:(B 0
.TP 4
.B s
\." Non-zero size (+)
$B%5%$%:$,(B 0 $B$G$J$$(B (+)
.TP 4
.B f
\." Plain file
$BDL>o%U%!%$%k(B
.TP 4
.B d
\." Directory
$B%G%#%l%/%H%j(B
.TP 4
.B l
\." Symbolic link (+) *
$B%7%s%\%j%C%/%j%s%/(B (+) *
.TP 4
.B b
\." Block special file (+)
$B%V%m%C%/7?FC<l%U%!%$%k(B (+)
.TP 4
.B c
\." Character special file (+)
$B%-%c%i%/%?7?FC<l%U%!%$%k(B (+)
.TP 4
.B p
\." Named pipe (fifo) (+) *
$BL>A0IU$-%Q%$%W(B (fifo) (+) *
.TP 4
.B S
\." Socket special file (+) *
$B%=%1%C%H7?FC<l%U%!%$%k(B (+) *
.TP 4
.B u
\." Set-user-ID bit is set (+)
set-user-ID $B%S%C%H$,%;%C%H$5$l$F$$$k(B (+)
.TP 4
.B g
\." Set-group-ID bit is set (+)
set-group-ID $B%S%C%H$,%;%C%H$5$l$F$$$k(B (+)
.TP 4
.B k
\." Sticky bit is set (+)
$B%9%F%#%C%-!<%S%C%H$,%;%C%H$5$l$F$$$k(B (+)
.TP 4
.B t
\." \fIfile\fR (which must be a digit) is an open file descriptor
\." for a terminal device (+)
\fIfile\fR ($B$3$l$O?t;z$G$J$1$l$P$J$i$J$$(B) $B$O(B
$BC<Kv%G%P%$%9$KBP$7$F%*!<%W%s$7$F$$$k(B
$B%U%!%$%k5-=R;R$G$"$k(B (+)
.TP 4
.B R
\." Has been migrated (convex only) (+)
migrate $B$5$l$F$$$k(B (convex $B%7%9%F%`$N$_M-8z(B) (+)
.TP 4
.B L
\." Applies subsequent operators in a multiple-operator test to a symbolic link
\." rather than to the file to which the link points (+) *
$BB?=E1i;;;R$NCf$G$3$N1i;;;R$N8e$K$/$k1i;;;R$O!"(B
$B%7%s%\%j%C%/%j%s%/$,;X$5$l$F$$$k%U%!%$%k$G$O$J$/!"(B
$B%7%s%\%j%C%/%j%s%/$=$N$b$N$KE,MQ$5$l$k(B (+) *
.RE
.PD
.PP
.\" \fIfile\fR is command and filename expanded and then tested to
.\" see if it has the specified relationship to the real user.  If \fIfile\fR
.\" does not exist or is inaccessible or, for the operators indicated by `*',
.\" if the specified file type does not exist on the current system,
\." then all enquiries return false, i.e., `0'.
\fIfile\fR $B$O%3%^%s%I$HE83+$5$l$?%U%!%$%kL>$G!"(B
$B;XDj$5$l$?<B%f!<%6$KBP$9$k4X78$,$"$k$+$I$&$+(B
$B%F%9%H$7$^$9!#(B
\fIfile\fR $B$,B8:_$7$F$$$J$$>l9g!"(B
$B$b$7$/$O%"%/%;%9$G$-$J$$>l9g!"(B
`*' $B$G<($7$?1i;;;R$K$D$$$F$O!"(B
$B;XDj$N%U%!%$%k%?%$%W$,8=:_$N%7%9%F%`$K(B
$BB8:_$7$F$$$J$1$l$P(B
$BA4$F$NLd$$9g$o$;$O56(B ($BNc$($P(B `0') $B$rJV$7$^$9!#(B
.PP
\." These operators may be combined for conciseness: `\-\fIxy file\fR' is
\." equivalent to `\-\fIx file\fR && \-\fIy file\fR'.  (+) For example, `\-fx' i
s true
\." (returns `1') for plain executable files, but not for directories.
$B$3$l$i$N1i;;;R$O!"4J7i$K$9$k$?$a$KO"7k$9$k$3$H$,$G$-$^$9!#(B
`\-\fIxy file\fR' $B$O(B `\-\fIx file\fR && \-\fIy file\fR' $B$HEy2A$G$9!#(B(+)
$BNc$($P(B `\-fx' $B$O(B
$BDL>o$N<B9T2DG=%U%!%$%k$KBP$7$F$O??(B (`1' $B$rJV$9(B) $B$G$9$,!"(B
$B%G%#%l%/%H%j$KBP$7$F$O$=$&$G$O$"$j$^$;$s!#(B
.PP
\." \fBL\fR may be used in a multiple-operator test to apply subsequent operator
s
\." to a symbolic link rather than to the file to which the link points.
\." For example, `\-lLo' is true for links owned by the invoking user.
\." \fBLr\fR, \fBLw\fR and \fBLx\fR are always true for links and false for
\." non-links.  \fBL\fR has a different meaning when it is the last operator
\." in a multiple-operator test; see below.
\fBL\fR $B$OB?=E1i;;;R$NCf$G;HMQ$G$-$^$9!#(B
$B$3$N1i;;;R$N8e$K$/$k1i;;;R$O!"(B
$B%7%s%\%j%C%/%j%s%/$,;X$5$l$F$$$k%U%!%$%k$G$O$J$/!"(B
$B%7%s%\%j%C%/%j%s%/$=$N$b$N$KE,MQ$5$l$^$9!#(B
$BNc$($P(B `\-lLo' $B$O(B
$B8F$S=P$7%f!<%6$,=jM-$7$F$$$k%j%s%/$KBP$7$F$O??$G$9!#(B
\fBLr\fR$B!"(B\fBLw\fR$B!"(B\fBLx\fR $B$O(B
$B%j%s%/$KBP$7$F$O>o$K??$G!"(B
$B%j%s%/$G$J$$$b$N$KBP$7$F$O56$G$9!#(B
\fBL\fR $B$O(B
$BB?=E1i;;;R$NCf$G:G8e$N1i;;;R$K$J$C$?>l9g!"(B
$B0[$J$C$?0UL#$r;}$A$^$9!#(B
$B0J2<$r;2>H$7$F$/$@$5$$!#(B
.PP
\." It is possible but not useful, and sometimes misleading, to combine operator
s
.\" which expect \fIfile\fR to be a file with operators which do not,
\." (e.g., \fBX\fR and \fBt\fR).  Following \fBL\fR with a non-file operator
\." can lead to particularly strange results.
\fIfile\fR $B$KEO$9$Y$-1i;;;R$H!"$=$&$G$J$$1i;;;R(B
($BNc$($P(B \fBX\fR $B$H(B \fBt\fR)
$B$rO"7k$9$k$3$H$O2DG=$G$9$,!"(B
$B<BMQE*$G$O$J$/!"$7$P$7$P4V0c$$$N85$K$J$j$^$9!#(B
$BFC$K!"%U%!%$%k$G$J$$1i;;;R$K(B \fBL\fR $B$r$D$1$k$H!"(B
$BL/$J7k2L$K$J$j$^$9!#(B
.PP
\." Other operators return other information, i.e., not just `0' or `1'.  (+)
\." They have the same format as before; \fIop\fR may be one of
$BB>$N1i;;;R$OB>$N>pJs!"$D$^$jC1$J$k(B `0' $B$d(B `1' $B$@$1(B
$B$G$O$J$$>pJs$rJV$7$^$9!#(B(+)
$B$3$l$i$OA0$K<($7$?$N$HF1$8=q<0$K$J$j$^$9!#(B
\fIop\fR $B$O<!$N$&$A$N$I$l$+(B 1 $B$D$G$9!#(B
.PP
.PD 0
.RS +4
.TP 8
.B A
\." Last file access time, as the number of seconds since the epoch
$B%(%]%C%/$+$i$NIC?t$GI=$7$?!":G8e$K%U%!%$%k$K%"%/%;%9$7$?;~4V(B
.TP 8
.B A:
\." Like \fBA\fR, but in timestamp format, e.g., `Fri May 14 16:36:10 1993'
\fBA\fR $B$HF1$8$G!"%?%$%`%9%?%s%W$N=q<0!#(B
$BNc(B: `Fri May 14 16:36:10 1993'
.TP 8
.B M
\." Last file modification time
$B:G8e$K%U%!%$%k$rJQ99$7$?;~4V(B
.TP 8
.B M:
\." Like \fBM\fR, but in timestamp format
\fBM\fR $B$HF1$8$G!"%?%$%`%9%?%s%W$N=q<0(B
.TP 8
.B C
\." Last inode modification time
$B:G8e$K(B inode $B$rJQ99$7$?;~4V(B
.TP 8
.B C:
\." Like \fBC\fR, but in timestamp format
\fBC\fR $B$HF1$8$G!"%?%$%`%9%?%s%W$N=q<0(B
.TP 8
.B D
\." Device number
$B%G%P%$%9HV9f(B
.TP 8
.B I
\." Inode number
inode $BHV9f(B
.TP 8
.B F
\." Composite \fBf\fRile identifier, in the form \fIdevice\fR:\fIinode\fR
\fIdevice\fR:\fIinode\fR $B$N7A<0$GI=$7$?(B
$BJ#9g(B \fBf\fRile $B<1JL;R(B
.TP 8
.B L
\." The name of the file pointed to by a symbolic link
$B%7%s%\%j%C%/%j%s%/$,;X$7$F$$$k%U%!%$%k$NL>A0(B
.TP 8
.B N
\." Number of (hard) links
($B%O!<%I(B) $B%j%s%/$N?t(B
.TP 8
.B P
\." Permissions, in octal, without leading zero
$B@hF,$K(B 0 $B$,$D$$$F$$$J$$(B 8 $B?J?t$GI=$7$?%Q!<%_%C%7%g%s(B
.TP 8
.B P:
\." Like \fBP\fR, with leading zero
\fBP\fR $B$HF1$8$G!"@hF,$K(B 0 $B$,$D$/(B
.TP 8
.B P\fImode
\." Equivalent to `\-P \fIfile\fR & \fImode\fR', e.g., `\-P22 \fIfile\fR' return
s
\." `22' if \fIfile\fR is writable by group and other, `20' if by group only,
\." and `0' if by neither
`\-P \fIfile\fR & \fImode\fR' $B$HEy2A!#(B
$BNc$($P!"(B`\-P22 \fIfile\fR' $B$O(B
\fIfile\fR $B$N(B $B%0%k!<%W$HB><T$,=q$-9~$_2D$G$"$l$P(B `22' $B$r!"(B
$B%0%k!<%W$N$_$G$"$l$P(B `20' $B$r!"2?$b$J$1$l$P(B `0' $B$rJV$9!#(B
.TP 8
.B P\fImode\fB:
\." Like \fBP\fImode\fB:\fR, with leading zero
\fBP\fImode\fB:\fR $B$HF1$8$G!"@hF,$K(B 0 $B$,$D$/(B
.TP 8
.B U
\." Numeric userid
$B?tCM$GI=$7$?%f!<%6(B ID
.TP 8
.B U:
\." Username, or the numeric userid if the username is unknown
$B%f!<%6L>!"%f!<%6L>$,8+$D$+$i$J$+$C$?>l9g$O?tCM$GI=$7$?%f!<%6(B ID
.TP 8
.B G
\." Numeric groupid
$B?tCM$GI=$7$?%0%k!<%W(B ID
.TP 8
.B G:
\." Groupname, or the numeric groupid if the groupname is unknown
$B%0%k!<%WL>!"%0%k!<%WL>$,8+$D$+$i$J$+$C$?>l9g$O?tCM$GI=$7$?%0%k!<%W(B ID
.TP 8
.B Z
\." Size, in bytes
$B%P%$%H?t$GI=$7$?%5%$%:(B
.RE
.PD
.PP
\." Only one of these operators may appear in a multiple-operator test, and it
\." must be the last.  Note that \fBL\fR has a different meaning at the end of a
nd
\." elsewhere in a multiple-operator test.  Because `0' is a valid return value
\." for many of these operators, they do not return `0' when they fail: most
\." return `\-1', and \fBF\fR returns `:'.
$B$3$l$i$N1i;;;R$N$&$A(B 1 $B$D$@$1B?=E1i;;;R$NCf$K(B
$B8=$l$k$3$H$r5v$5$l$F$$$^$9$,!"I,$::G8e$K$D$1$kI,MW$,$"$j$^$9!#(B
$B$?$@$7!"(B\fBL\fR $B$OB?=E1i;;;R$NCf$N(B
$B:G8e$H$=$l0J30$N2U=j$G$O0c$C$?0UL#$K$J$k$N$GCm0U$7$F$/$@$5$$!#(B
$B$J$<$J$i!"(B`0' $B$O$3$l$i$N1i;;;R$NB?$/$K$H$C$F@5Ev$JJV$jCM$N$?$a$G$9!#(B
$B$3$l$i$,<:GT$7$?>l9g!"(B`0' $B$rJV$7$^$;$s!#(B
$B$?$$$F$$$N>l9g!"(B`\-1' $B$rJV$7!"(B\fBF\fR $B$O(B `:' $B$rJV$7$^$9!#(B
.PP
\." If the shell is compiled with POSIX defined (see the \fBversion\fR shell
\." variable), the result of a file inquiry is based on the permission bits of
\." the file and not on the result of the \fIaccess\fR(2) system call.
\." For example, if one tests a file with \fB\-w\fR whose permissions would
\." ordinarily allow writing but which is on a file system mounted read-only,
\." the test will succeed in a POSIX shell but fail in a non-POSIX shell.
$B$3$N%7%'%k$,(B POSIX $B$rDj5A$7$F%3%s%Q%$%k$5$l$F$$$k(B
($B%7%'%kJQ?t(B \fBversion\fR $B$r;2>H(B)
$B>l9g!"%U%!%$%kLd$$9g$o$;$N7k2L$O!"(B
\fIaccess\fR(2) $B%7%9%F%`%3!<%k$N7k2L$K4p$E$$$?$b$N$G$O$J$/!"(B
$B%U%!%$%k$N5v2D%S%C%H$K4p$E$$$?$b$N$K$J$j$^$9!#(B
$BNc$($P!"(B
$BDL>o$O=q$-9~$_2D$G$"$k$,(B
$BFI$_<h$j@lMQ$G%^%&%s%H$5$l$?%U%!%$%k%7%9%F%`>e$K$"$k(B
$B%U%!%$%k$r(B \fB\-w\fR $B$G8!::$7$?>l9g!"(B
POSIX $B%7%'%k$G$O@.8y$7!"(B
$BHs(B POSIX $B%7%'%k$G$O<:GT$9$k$3$H$K$J$j$^$9!#(B
.PP
\." File inquiry operators can also be evaluated with the \fIfiletest\fR builtin
\." command (q.v.) (+).
$B%U%!%$%kLd$$9g$o$;1i;;;R$O(B
\fIfiletest\fR $BAH$_9~$_%3%^%s%I(B ($B;2>H(B) $B$HEy2A$K$J$jF@$^$9!#(B(+)
---------------------------------------------------
