


Comprehensively sort out the functions and usage of various brackets in the shell under Linux
When I was learning shell programming, I was confused by the usage of various brackets. With gradual familiarity and accumulation, I finally mastered the usage of all brackets. Now, I would like to share with you what I have summarized.
Note: The prerequisite for reading this document is that you already have the foundation of bash and shell programming.
Single parentheses ()
But there are two common functions of parentheses: command substitution and array initialization
Command substitution
When the $() structure is encountered, the shell executes the command within the brackets and returns the result
# tmp=$(date) # echo $tmp Fri Sep 18 10:22:30 CST 2020
Initialize array
# 初始化数组 lnmp=(linux nginx mysql php)
Double parentheses (())
Remember that there is a The characteristic is that the words in the brackets must conform to the syntax of the C language, and there is no need to add the $ symbol when using variable names.
Double parentheses are used more often. They can be used for integer calculations (decimals are not supported). For example: $((3 2))
# echo $((1+3)) 4 # n1=3 # echo $((n1+7)) 10
As long as it conforms to the operation expansion of C language grammar, it can be written in the brackets
# echo $((3+4>5 ? 1 :0)) 1 # echo $((3+4>9 ? 1 :0)) 0
Reassign the variable value. At this time, you cannot add $ outside the brackets. Symbol
# i=1;((i++));echo $i; 2 # i=1;((i=100));echo $i; 100
Double brackets are often used in for loops
for ((i=0;i<5;i++));do echo -n $i;done
Single square brackets[]
Single square brackets are the most common It is used in logical judgment. In addition, it can also be used as the subscript of an array, and to express a range in regular expressions.
Used in shell scripts for conditional judgment:
if [ 1 > 2 ] then …… fi
can also be used as an array subscript. :
# echo ${lnmp[1]} nginx
is used in regular expressions to indicate a range
[0-9] 表示数子0-9都行
Double brackets
are the same as single brackets, double brackets Also used in conditional judgments, but it is more general than single square brackets. Here's an example:
[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ] 改成双括号 [[ a > b && a > 0 ]]
Single curly brace {}
Curly brace expansion. (globbing) will expand the file name enclosed in curly braces. Within curly braces, no whitespace is allowed unless the whitespace is quoted or escaped.
For example, entering the command rm -f {1,2}.txt will delete files 1.txt and 2.txt.
The role of .. in single curly braces
The two dots here represent a range. For example,
echo {1..10} #将打印1,2,3,4,5,6,7,8,9,10
curly braces are also commonly used in shell scripts for code blocks.
In addition to the first time, single curly braces can also be used to replace and delete variable content and test variable content. A common example is given. We often determine whether a variable exists, and if it does not exist, set a new value for the variable.
val=${n1:-test}
The above code indicates that if the variable n1 does not exist or is empty, the val variable value is set to test, otherwise the val value is the value of the n1 variable
The above is the detailed content of Comprehensively sort out the functions and usage of various brackets in the shell under Linux. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

CentOS installation steps: Download the ISO image and burn bootable media; boot and select the installation source; select the language and keyboard layout; configure the network; partition the hard disk; set the system clock; create the root user; select the software package; start the installation; restart and boot from the hard disk after the installation is completed.

CentOS will be shut down in 2024 because its upstream distribution, RHEL 8, has been shut down. This shutdown will affect the CentOS 8 system, preventing it from continuing to receive updates. Users should plan for migration, and recommended options include CentOS Stream, AlmaLinux, and Rocky Linux to keep the system safe and stable.

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

CentOS has been discontinued, alternatives include: 1. Rocky Linux (best compatibility); 2. AlmaLinux (compatible with CentOS); 3. Ubuntu Server (configuration required); 4. Red Hat Enterprise Linux (commercial version, paid license); 5. Oracle Linux (compatible with CentOS and RHEL). When migrating, considerations are: compatibility, availability, support, cost, and community support.

After CentOS is stopped, users can take the following measures to deal with it: Select a compatible distribution: such as AlmaLinux, Rocky Linux, and CentOS Stream. Migrate to commercial distributions: such as Red Hat Enterprise Linux, Oracle Linux. Upgrade to CentOS 9 Stream: Rolling distribution, providing the latest technology. Select other Linux distributions: such as Ubuntu, Debian. Evaluate other options such as containers, virtual machines, or cloud platforms.

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)
