184 lines
4.4 KiB
Groff
184 lines
4.4 KiB
Groff
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.50.1.
|
|
.TH TEST "1" "April 2025" "GNU coreutils 9.7" "User Commands"
|
|
.SH NAME
|
|
test \- check file types and compare values
|
|
.SH SYNOPSIS
|
|
.B test
|
|
.I EXPRESSION
|
|
.br
|
|
.B test
|
|
.br
|
|
.\" \& tells doclifter the brackets are literal (Bug#31803).
|
|
.B [\&
|
|
.I EXPRESSION
|
|
.B ]\&
|
|
.br
|
|
.B "[\& ]\&"
|
|
.br
|
|
.B [\&
|
|
.I OPTION
|
|
.SH DESCRIPTION
|
|
.\" Add any additional description here
|
|
.PP
|
|
Exit with the status determined by EXPRESSION.
|
|
.TP
|
|
\fB\-\-help\fR
|
|
display this help and exit
|
|
.TP
|
|
\fB\-\-version\fR
|
|
output version information and exit
|
|
.PP
|
|
An omitted EXPRESSION defaults to false. Otherwise,
|
|
EXPRESSION is true or false and sets exit status. It is one of:
|
|
.TP
|
|
( EXPRESSION )
|
|
EXPRESSION is true
|
|
.TP
|
|
! EXPRESSION
|
|
EXPRESSION is false
|
|
.TP
|
|
EXPRESSION1 \fB\-a\fR EXPRESSION2
|
|
both EXPRESSION1 and EXPRESSION2 are true
|
|
.TP
|
|
EXPRESSION1 \fB\-o\fR EXPRESSION2
|
|
either EXPRESSION1 or EXPRESSION2 is true
|
|
.TP
|
|
\fB\-n\fR STRING
|
|
the length of STRING is nonzero
|
|
.TP
|
|
STRING
|
|
equivalent to \fB\-n\fR STRING
|
|
.TP
|
|
\fB\-z\fR STRING
|
|
the length of STRING is zero
|
|
.TP
|
|
STRING1 = STRING2
|
|
the strings are equal
|
|
.TP
|
|
STRING1 != STRING2
|
|
the strings are not equal
|
|
.TP
|
|
STRING1 > STRING2
|
|
STRING1 is greater than STRING2 in the current locale
|
|
.TP
|
|
STRING1 < STRING2
|
|
STRING1 is less than STRING2 in the current locale
|
|
.TP
|
|
INTEGER1 \fB\-eq\fR INTEGER2
|
|
INTEGER1 is equal to INTEGER2
|
|
.TP
|
|
INTEGER1 \fB\-ge\fR INTEGER2
|
|
INTEGER1 is greater than or equal to INTEGER2
|
|
.TP
|
|
INTEGER1 \fB\-gt\fR INTEGER2
|
|
INTEGER1 is greater than INTEGER2
|
|
.TP
|
|
INTEGER1 \fB\-le\fR INTEGER2
|
|
INTEGER1 is less than or equal to INTEGER2
|
|
.TP
|
|
INTEGER1 \fB\-lt\fR INTEGER2
|
|
INTEGER1 is less than INTEGER2
|
|
.TP
|
|
INTEGER1 \fB\-ne\fR INTEGER2
|
|
INTEGER1 is not equal to INTEGER2
|
|
.TP
|
|
FILE1 \fB\-ef\fR FILE2
|
|
FILE1 and FILE2 have the same device and inode numbers
|
|
.TP
|
|
FILE1 \fB\-nt\fR FILE2
|
|
FILE1 is newer (modification date) than FILE2
|
|
.TP
|
|
FILE1 \fB\-ot\fR FILE2
|
|
FILE1 is older than FILE2
|
|
.TP
|
|
\fB\-b\fR FILE
|
|
FILE exists and is block special
|
|
.TP
|
|
\fB\-c\fR FILE
|
|
FILE exists and is character special
|
|
.TP
|
|
\fB\-d\fR FILE
|
|
FILE exists and is a directory
|
|
.TP
|
|
\fB\-e\fR FILE
|
|
FILE exists
|
|
.TP
|
|
\fB\-f\fR FILE
|
|
FILE exists and is a regular file
|
|
.TP
|
|
\fB\-g\fR FILE
|
|
FILE exists and is set\-group\-ID
|
|
.TP
|
|
\fB\-G\fR FILE
|
|
FILE exists and is owned by the effective group ID
|
|
.TP
|
|
\fB\-h\fR FILE
|
|
FILE exists and is a symbolic link (same as \fB\-L\fR)
|
|
.TP
|
|
\fB\-k\fR FILE
|
|
FILE exists and has its sticky bit set
|
|
.TP
|
|
\fB\-L\fR FILE
|
|
FILE exists and is a symbolic link (same as \fB\-h\fR)
|
|
.TP
|
|
\fB\-N\fR FILE
|
|
FILE exists and has been modified since it was last read
|
|
.TP
|
|
\fB\-O\fR FILE
|
|
FILE exists and is owned by the effective user ID
|
|
.TP
|
|
\fB\-p\fR FILE
|
|
FILE exists and is a named pipe
|
|
.TP
|
|
\fB\-r\fR FILE
|
|
FILE exists and the user has read access
|
|
.TP
|
|
\fB\-s\fR FILE
|
|
FILE exists and has a size greater than zero
|
|
.TP
|
|
\fB\-S\fR FILE
|
|
FILE exists and is a socket
|
|
.TP
|
|
\fB\-t\fR FD
|
|
file descriptor FD is opened on a terminal
|
|
.TP
|
|
\fB\-u\fR FILE
|
|
FILE exists and its set\-user\-ID bit is set
|
|
.TP
|
|
\fB\-w\fR FILE
|
|
FILE exists and the user has write access
|
|
.TP
|
|
\fB\-x\fR FILE
|
|
FILE exists and the user has execute (or search) access
|
|
.PP
|
|
Except for \fB\-h\fR and \fB\-L\fR, all FILE\-related tests dereference symbolic links.
|
|
Beware that parentheses need to be escaped (e.g., by backslashes) for shells.
|
|
INTEGER may also be \fB\-l\fR STRING, which evaluates to the length of STRING.
|
|
.PP
|
|
Binary \fB\-a\fR and \fB\-o\fR are ambiguous. Use 'test EXPR1 && test EXPR2'
|
|
or 'test EXPR1 || test EXPR2' instead.
|
|
.PP
|
|
\&'[' honors \fB\-\-help\fR and \fB\-\-version\fR, but 'test' treats them as STRINGs.
|
|
.PP
|
|
Your shell may have its own version of test and/or [, which usually supersedes
|
|
the version described here. Please refer to your shell's documentation
|
|
for details about the options it supports.
|
|
.SH AUTHOR
|
|
Written by Kevin Braunsdorf and Matthew Bradburn.
|
|
.SH "REPORTING BUGS"
|
|
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
|
|
.br
|
|
Report any translation bugs to <https://translationproject.org/team/>
|
|
.SH COPYRIGHT
|
|
Copyright \(co 2025 Free Software Foundation, Inc.
|
|
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
|
|
.br
|
|
This is free software: you are free to change and redistribute it.
|
|
There is NO WARRANTY, to the extent permitted by law.
|
|
.SH "SEE ALSO"
|
|
\fBaccess\fP(2)
|
|
.PP
|
|
.br
|
|
Full documentation <https://www.gnu.org/software/coreutils/test>
|
|
.br
|
|
or available locally via: info \(aq(coreutils) test invocation\(aq
|