test command or [ expr ] in Linux Shell Script
By: Dorris in Linux Tutorials on 2011-01-15
In Linux shell scripting, the test
command or [ expr ]
is used to evaluate a condition and return a Boolean value. It is typically used in conditional statements, loops, and other control structures.
The test
command or [ expr ]
can be used to perform a wide range of tests, including:
- File tests: to check if a file exists, if it is readable, writable, executable, or if it is a symbolic link, a directory, or a regular file.
- String tests: to check if a string is empty or not, if it contains a certain substring, if it is of a certain length, or if it matches a pattern using regular expressions.
- Numeric tests: to check if a number is equal to, greater than, or less than another number.
The test
command or [ expr ]
is followed by a list of arguments that specify the test to be performed. The syntax of the test
command or [ expr ]
is as follows:
test expression
or
[ expression ]
The expression
can be a combination of variables, operators, and literals, and it must be enclosed in double quotes if it contains spaces or special characters.
For example, to test if a file exists, you can use the following command:
if [ -e /path/to/file ]; then echo "File exists" else echo "File does not exist" fi
In this example, the -e
option tests if the file exists, and the if
statement checks the Boolean value returned by the test
command or [ expr ]
and executes the corresponding branch of code.
Add Comment
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
- Your name, rating, website address, town, country, state and comment will be publicly displayed if entered.
- Aside from the data entered into these form fields, other stored data about your comment will include:
- Your IP address (not displayed)
- The time/date of your submission (displayed)
- Your email address will not be shared. It is collected for only two reasons:
- Administrative purposes, should a need to contact you arise.
- To inform you of new comments, should you subscribe to receive notifications.
- A cookie may be set on your computer. This is used to remember your inputs. It will expire by itself.
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
- Although the administrator will attempt to moderate comments, it is impossible for every comment to have been moderated at any given time.
- You acknowledge that all comments express the views and opinions of the original author and not those of the administrator.
- You agree not to post any material which is knowingly false, obscene, hateful, threatening, harassing or invasive of a person's privacy.
- The administrator has the right to edit, move or remove any comment for any reason and without notice.
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
- Data Science
- Android
- React Native
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
smskannel SMS gateway run in background
Running jar files in background in ssh window
Install and configure Memcached in linux
Can't locate ExtUtils/MakeMaker.pm in @INC ...
Could not open '': No such file or directory at lib/ExtUtils/MM_Unix.pm line 2697
make: Nothing to be done for `all'.
How to burn your CD / DVD ISO image using Nero Burning ROM (Ahead Software) on Windows
How to burn your CD / DVD ISO image using Media Creator (Adaptec/Roxio) on Windows
How to burn your CD / DVD ISO image using Nero Express (Ahead Software) on Windows
How to burn your CD / DVD ISO image using k3b on CentOS
Comments