Home > Operation and Maintenance > Linux Operation and Maintenance > Linux operation and maintenance shell variables.md

Linux operation and maintenance shell variables.md

齐天大圣
Release: 2020-06-24 14:06:11
Original
2092 people have browsed it

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
……
Copy after login

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 变量名=变量值
Copy after login

If you want to cancel environment variables , you can use the unset command to complete

unset 变量名
Copy after login

Let’s demonstrate below:

# export HOBBY=basketball
# env | grep HOBBY
HOBBY=basketball

# unset HOBBY
# env | grep HOBBY
Copy after login

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
Copy after login

Variable setting rules,

变量名=变量内容
Copy after login
  • 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)
Copy after login

The syntax for printing array elements is as follows

echo ${arr[元素下标]}
# echo ${arr[0]}
paul
# echo ${arr[1]}
james
Copy after login

Print all elements of the array

echo ${arr[@]}
Copy after login

Print the length of the array

echo ${#arr[@]}
Copy after login

Print the length of the array elements

echo ${#arr[数组下标]}
Copy after login

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
Copy after login

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
Copy after login

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template