We know that there are many variables in the shell, such as the PATH variable that we often use. Its function is to set the directory of the executable file, so that you do not need to use the absolute path when entering commands. In addition, the shell has many other variables. Today, let’s discuss shell variables with you.
Classification
We know that there is a distinction between local variables and global variables in php. The shell is very similar to php. There are environment variables, Ordinary variables. Environment variables are generally used to define the running environment of the shell, while ordinary variables are often used in writing shell scripts.
The difference between environment variables and ordinary variables is very similar to PHP variables: the difference is the scope of use. Shell environment variables can be used in the current shell and derived shells, while ordinary variables can only be used in The current shell is used. Environment variables usually use uppercase, and ordinary variables usually use lowercase.
Environment variables
To view all current environment variables, use the env (environment) command
# env XDG_SESSION_ID=38135 HOSTNAME=iz8vb626ci0aehwsivxaydz TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=114.106.186.229 31955 22 QTDIR=/usr/lib64/qt-3.3 ……
In addition You can use the set command to view it, but this command will list all environment variables and ordinary variables. Generally, environment variables are represented by uppercase letters.
Setting and canceling environment variables
The user-defined way to set environment variables is as follows
export 变量名=变量值
If you want to cancel environment variables , you can use the unset command to complete
unset 变量名
Let’s demonstrate below:
# export HOBBY=basketball # env | grep HOBBY HOBBY=basketball # unset HOBBY # env | grep HOBBY
Printing and setting of variables
There is an echo command under Linux. The usage method is the same as PHP. It is used to print a piece of text.
# echo hello,world hello,world # echo -e "$PWD\n$PATH" /root /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Variable setting rules,
变量名=变量内容
Note "=" There cannot be spaces on both sides
The variable name can only It is letters and numbers, and the first character cannot be a number
If the variable content has spaces, you need to use quotation marks (single quotation marks, double quotation marks) to enlarge the variable content, such as name=" lebron james". Variables can be parsed within double quotes.
If there are special characters, you can use \ to escape them, such as enter, ', " and other special characters
If you want to use the command results As the variable content, you can use $(command) or command;
If you want to expand the variable content, you can use "{$variable}accumulated content"
array
Like PHP, shell variables also have array types. The definition syntax of an array is as follows:
变量名=(val1 val2 ... valn); arr=(paul james durant)
The syntax for printing array elements is as follows
echo ${arr[元素下标]} # echo ${arr[0]} paul # echo ${arr[1]} james
Print all elements of the array
echo ${arr[@]}
Print the length of the array
echo ${#arr[@]}
Print the length of the array elements
echo ${#arr[数组下标]}
Print some elements of the array ${lnmp[@]:n1:n2} n1 represents the start, n2 represents the length
# 打印所有元素 # echo ${lnmp[@]} linux nginx mysql php # echo ${lnmp[@]:0} linux nginx mysql php # 打印从第二个元素开始的所有值 # echo ${lnmp[@]:1} nginx mysql php # 打印第一个值和第二个值 # echo ${lnmp[@]:0:2} linux nginx # 打印第二个值和第三个值 # echo ${lnmp[@]:1:2} nginx mysql
Assignment, replacement and deletion of array
#追加元素 # lnmp[${#lnmp[@]}]=apache # echo ${lnmp[@]} linux nginx mysql php apache # 修改元素 # lnmp[0]=l # echo ${lnmp[@]} linux nginx mysql php # 删除元素 unset lnmp[0] unset lnmp[1] unset lnmp
The above is the detailed content of Linux operation and maintenance shell variables.md. For more information, please follow other related articles on the PHP Chinese website!