Linux 운영 및 유지 관리 쉘 변수.md

齐天大圣
풀어 주다: 2020-06-24 14:06:11
원래의
2058명이 탐색했습니다.

셸에는 우리가 자주 사용하는 PATH 변수 등 많은 변수가 있다는 것을 알고 있습니다. 그 기능은 실행 파일의 디렉터리를 설정하는 것이므로 명령을 입력할 때 절대 경로를 사용할 필요가 없습니다. 또한 쉘에는 다른 많은 변수가 있습니다. 오늘은 쉘 변수에 대해 토론해 보겠습니다.

분류

우리는 PHP에서 로컬 변수와 전역 변수 사이에 차이가 있다는 것을 알고 있습니다. 쉘은 환경 변수와 일반 변수가 있다는 점에서 PHP와 매우 유사합니다. 환경 변수는 일반적으로 쉘의 실행 환경을 정의하는 데 사용되는 반면 일반 변수는 쉘 스크립트 작성에 자주 사용됩니다.

환경 변수와 일반 변수의 차이점은 PHP 변수와 매우 유사합니다. 차이점은 사용 범위입니다. 쉘 환경 변수는 현재 쉘과 파생 쉘에서 사용할 수 있지만 일반 변수는 현재 쉘에서만 사용할 수 있습니다. . 환경 변수는 대개 대문자를 사용하고 일반 변수는 일반적으로 소문자를 사용합니다.

환경 변수

현재 환경 변수를 모두 보려면 env(환경) 명령을 사용하세요.

# 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
……
로그인 후 복사

set 명령을 사용하여 볼 수도 있지만 이 명령을 사용하면 모든 환경 변수와 일반 변수가 나열됩니다. 일반적으로 환경변수는 대문자로 표현됩니다.

환경 변수 설정 및 취소

사용자가 정의한 환경 변수 설정 방법은 다음과 같습니다

export 变量名=变量值
로그인 후 복사

환경 변수를 취소하려면 unset 명령어를 사용하여 완료하면 됩니다

unset 变量名
로그인 후 복사

시연해 보겠습니다. 아래:

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

# unset HOBBY
# env | grep HOBBY
로그인 후 복사

변수 인쇄 및 설정

리눅스에는 echo 명령어가 있습니다. 사용법은 PHP와 동일합니다.

# 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
로그인 후 복사

변수 설정 규칙,

变量名=变量内容
로그인 후 복사
  • 참고 "=" 양쪽에 공백이 있으면 안 됩니다

  • 변수 이름은 문자와 숫자만 가능하며 첫 글자는 숫자가 될 수 없습니다

  • 변수 내용 Spaces가 있는 경우 name="lebron james"와 같이 따옴표(작은따옴표, 큰따옴표)를 사용하여 변수 내용을 묶어야 합니다. 변수는 큰따옴표로 구문 분석될 수 있습니다.

  • 특수 문자가 있는 경우 Enter, ', " 및 기타 특수 문자와 같이 특수 문자를 사용하여 이스케이프할 수 있습니다.

  • 명령 결과를 변수 내용으로 사용하려면 $( command) 또는 command;

  • 변수 내용을 확장하려면 "{$variable} 누적 내용"

array

PHP와 마찬가지로 쉘 변수에도 배열 유형이 있습니다. 배열의 정의 구문은 다음과 같습니다.

变量名=(val1 val2 ... valn);
arr=(paul james durant)
로그인 후 복사

배열 요소 구문 인쇄 다음과 같이

echo ${arr[元素下标]}
# echo ${arr[0]}
paul
# echo ${arr[1]}
james
로그인 후 복사

배열의 모든 요소를 ​​인쇄합니다

echo ${arr[@]}
로그인 후 복사

배열의 길이를 인쇄합니다

echo ${#arr[@]}
로그인 후 복사

배열 요소의 길이를 인쇄합니다

echo ${#arr[数组下标]}
로그인 후 복사

배열의 일부 요소를 인쇄합니다. ${lnmp[@]:n1:n2} n1은 시작을 의미하고, n2는 길이의 할당, 교체 및 삭제를 나타냅니다.

# 打印所有元素
# 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
로그인 후 복사

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
로그인 후 복사

위 내용은 Linux 운영 및 유지 관리 쉘 변수.md의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿