집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Bash에서 일반적으로 사용되는 특수 문자 요약
#
댓글 기호(해시마크)
1. 쉘 파일의 행 시작 부분에 쉘 호출 해석기 표시로 #!/bin/bash;
2. , 한 줄에 여러 명령의 구분 기호(명령 구분 기호[세미콜론])인 # 다음 내용은 실행되지 않습니다.
;
.
같은 줄에 여러 명령을 배치할 때는 세미콜론을 사용하여 구분할 수 있습니다.
;;
연속 세미콜론(터미네이터 [이중 세미콜론]).
대소문자 옵션 사용시 각 옵션의 종결자로 사용됩니다.
.
점 명령.
1. 현재 디렉터리에서 파일을 실행합니다.
#!/bin/bash
.pythontab-file
2. 파일 이름의 일부로 파일 이름 시작 부분에 해당 파일이 숨겨진 파일
3. 디렉토리 이름으로 점 1개는 현재 디렉토리를 나타내고, 점 2개는 상위 디렉토리(현재 디렉토리의 상위 디렉토리)를 나타냅니다. 점 문자 자체를 따옴표(단일/이중)로 묶지 않으면 점이 2개 이상 나타나지 않습니다.
4 정규식에서 점은 모든 문자를 나타냅니다.
"
큰따옴표.
부분따옴표. 큰따옴표로 묶인 내용은 변수 확장 및 이스케이프 문자의 존재를 허용합니다.
'
작은따옴표(전체 따옴표[작은따옴표] ).
모두 작은따옴표로 묶인 문자는 문자 자체로 처리됩니다.
쉼표(쉼표 연산자[쉼표])
1. 일련의 수학적 표현식을 연결하는 데 사용되지만 값의 마지막 값만 반환됩니다. a=$a, b=$b
##This $t1=$b;
백슬래시(escape[백슬래시])
1. 특수기호 앞에 붙이는 역할만 합니다. 문자열에서 일반적으로 사용되는 특수 기호 자체를 나타냅니다.
2. 명령 줄 끝에 배치되면 다음 캐리지 리턴이 유효하지 않으며(사실 Enter가 이스케이프됨) 후속 줄이 바뀐다는 의미입니다. 입력은 여전히 현재 명령의 일부로 사용됩니다.
/
슬래시(파일 이름 경로 구분 기호[슬래시])
1 경로 구분 기호로는 경로에 슬래시가 하나만 있습니다. 루트 디렉터리. 슬래시로 시작하는 경로는 루트 디렉터리
2에서 시작하는 경로를 나타냅니다. 연산자로 사용되는 경우에는 구분 기호를 나타냅니다. 예: a=4/2
` 역따옴표(명령 대체[ 역따옴표]). 명령 대체. 포함된 명령을 실행할 수 있으며 실행 결과가 변수에 할당됩니다. 결과는 a에 할당됩니다. Mitchell은 특히 백틱과 작은따옴표를 사용합니다. 차이점에 유의하세요. :콜론(null 명령 [콜론]) Null 명령은 아무 작업도 수행하지 않습니다. 값이며 반환 값은 0입니다(예: true). 1. while 루프의 조건으로 사용할 수 있습니다. 2. if 분기에서(즉, 분기가 아무 작업도 수행하지 않는 경우) 3. 다음과 같이 이진 연산이 있어야 하는 경우 구분 기호로 배치합니다. :${username=`whoami`}4. 매개변수 대체 할당에서 문자열 변수로 사용합니다. 리디렉션 작업(>)에서 파일 길이를 0으로 자릅니다(:>>를 이와 같이 사용하면 대상이 존재하는 경우 아무 작업도 수행되지 않습니다). 이는 파이프, 심볼릭 링크 및 기타 특수 파일에 사용되는 것이 아니라 일반 파일에서만 사용할 수 있습니다. 명령문에 구문 오류가 있으면 오류가 발생합니다. 6. 또한 도메인 구분자로 콜론을 사용할 수도 있습니다. 예를 들어 환경 변수 $PATH 또는 passwd에는 도메인 구분자로 콜론이 있습니다. 7. 콜론을 함수 이름으로 사용할 수도 있지만 이렇게 하면 콜론의 원래 의미가 변경됩니다(실수로 함수 이름으로 사용한 경우 unset -f:를 사용하여 함수 정의를 해제할 수 있습니다). !느낌표(역방향(또는 부정) [뱅], [느낌표]). 테스트 결과를 반전하거나 상태를 종료합니다. 1. 다음과 같은 역논리를 나타냅니다. 2 다음과 같이 부정을 나타냅니다. ls a[!0-9] #a 뒤에 숫자가 없음을 나타냅니다.3. 다른 환경에서는 간접 변수 참조에도 느낌표가 나타날 수 있습니다.
4. 명령줄에서는 !$,!# 또는 -를 호출하는 데 사용할 수 있습니다. 3 살펴보세요. 하지만 이 기능은 스크립트 파일에서는 사용할 수 없습니다(비활성화되어 있음).
*
별표(와일드카드/산술 연산자[별표]).
1. 파일 이름 확장자와 일치하는 와일드카드로 지정된 디렉터리의 모든 파일을 자동으로 일치시킬 수 있습니다.
2 이전 일치 규칙이 모든 숫자와 일치함을 나타내는 문자 한정자로 사용할 수 있습니다.
3 산술 연산의 곱셈을 나타냅니다.
**
이중 별표. 산술 연산에서는 지수 연산을 나타냅니다.
?
물음표(테스트 연산자/와일드카드[물음표]).
1. 조건 테스트를 나타냅니다.
2. 매개변수 대체 표현식에서 C 스타일 삼항 연산자((condition?true-result:false-result))를 나타냅니다.
4. 파일 이름 확장자 기능과 일치하는 데 사용되는 와일드카드로, 단일 문자와 일치하는 데 사용됩니다.
5. 정규 표현식에서는 이전 규칙과 0번 또는 1번 일치하는 것을 의미합니다.
$
달러 기호(변수 대체[달러 기호]).
1. 변수의 리더로서 변수 대체, 즉 다음과 같이 변수의 내용을 참조하는 데 사용됩니다. echo $PATH
2. 오프라인 종료)를 정규식으로 사용합니다.
${}
변수 대체.
은 문자열의 변수를 나타내는 데 사용됩니다.
$'...'
인용된 내용을 확장하고 작은따옴표 내에서 이스케이프된 내용을 실행합니다(작은따옴표는 원래 그대로 인용됩니다). 이 방법은 따옴표 내에서 하나 이상의 []를 이스케이프합니다. , 16진수 값을 ASCII 또는 유니코드 문자로 변환합니다.
$*
$@
위치 매개변수.
스크립트 파일 사용시 매개변수를 전달할 때 사용됩니다. 둘 다 호출 스크립트 파일의 모든 매개변수를 반환할 수 있지만 $*는 모든 매개변수를 전체(문자열)로 반환하는 반면 $@는 각 매개변수를 매개변수 목록 단위로 반환합니다. $*, $@를 사용할 때는 큰따옴표로 묶어야 합니다. 이 두 변수는 $IFS의 영향을 받습니다. 실제 응용 프로그램에서 사용하는 경우 몇 가지 세부 사항을 고려해야 합니다.
$#
은 스크립트에 전달된 매개변수 수를 나타냅니다.
$?
이 변수 값을 사용하면 마지막 명령, 함수, 스크립트의 종료 상태 코드 값을 반환합니다. 오류가 없으면 0이 아닙니다. 이 이전의 마지막 종료 상태 코드입니다. 실행 오류가 발생했습니다.
$$
프로세스 ID 변수, 이 변수는 현재 스크립트를 실행하는 프로세스 ID 값을 저장합니다.
()
괄호.
1, 지휘 그룹. 괄호로 묶인 명령어가 명령어 그룹이고, 명령어 그룹에 포함된 명령어들은 서브쉘에서 실행된다. 서브쉘에서 실행되기 때문에 괄호 바깥쪽의 괄호 안에 있는 변수의 값을 얻을 수 있는 방법은 없지만, 반대로 명령어 그룹 내에서는 바깥쪽의 값을 얻을 수 있다는 것이 로컬 변수 간의 관계와 조금 비슷합니다. 및 전역 변수 구현 시 작업이 완료된 후 하위 디렉터리로 이동하고 현재 디렉터리로 돌아가야 하는 경우 이를 처리하기 위해 서브셸을 사용할 수 있습니다.
2.
{x,y,z,...}
보조기 확장.
이 확장을 사용하여 명령의 매개변수 목록을 확장할 수 있습니다. 명령은 목록에서 대괄호로 구분된 패턴에 따라 일치하고 확장됩니다. 한 가지 주목할 점은 이 중괄호 확장에는 공백이 있을 수 없다는 것입니다. 공백이 실제로 필요한 경우에는 따옴표를 사용하여 이스케이프 처리하거나 인용해야 합니다. 예: echo {a,b,c}-{ d," e",' f'}
{a..z}
이 중괄호 확장은 Bash 버전 3에 추가되었으므로 {A .. Z}는 A-Z의 모든 문자 목록을 나타내며 Mitchell은 이러한 방식으로 확장을 테스트했으며 A-Z, a-z 및 숫자 {minimum..max}의 확장에만 적용 가능한 것으로 보입니다.
{}
코드 블록(중괄호).
이것은 익명 함수이지만 함수와 달리 코드 블록 이후에도 코드 블록의 변수에 액세스할 수 있습니다. 참고: 중괄호 안에 공백과 구문을 구분해야 합니다. 또한 xargs -i에서는 출력 텍스트의 위치를 표시하는 텍스트 자리 표시자로 사용할 수도 있습니다.
{} ;
이 {}는 경로 이름을 나타냅니다. 이것은 셸에 내장되어 있지 않습니다. 지금 보니 find 명령에서만 사용되는 것 같습니다. 마지막에 있는 세미콜론에 주의하세요. find 명령에서 -exec 옵션을 끝내는 명령 순서입니다. 실제로 사용할 때는 쉘에서 오해하지 않도록 이스케이프해야 합니다.
[]
괄호.
1. 테스트를 표현하기 위해 Shell은 [] 내의 표현식을 테스트합니다. []는 외부 명령 /usr/bin/test의 링크를 사용하는 것이 아니라 Shell의 내장 테스트의 일부라는 점에 유의해야 합니다. ;
2. 배열 요소를 나타냅니다. 대괄호 안에 해당 위치의 내용을 입력합니다. 예:
1. =xxx
2. echo${Array [1]};
3. 정규식에서 대괄호는 이 위치에서 일치할 수 있는 문자 집합의 범위를 나타냅니다.
[[]]
이중 괄호.
이 구조는 [[]](셸 키워드)의 표현식을 테스트하는 테스트이기도 합니다. 이는 스크립트의 논리적 오류를 방지하는 데 단일 대괄호보다 낫습니다. 예를 들어 &&,||,<,> 연산자는 [[]]에서는 테스트를 통과할 수 있지만 []에서는 테스트를 통과할 수 없습니다. [[]]에는 파일 이름 확장이나 단어 분할이 없지만 매개변수 확장 및 명령 대체를 사용할 수 있습니다. 파일 이름 와일드카드 및 공백과 같은 구분 기호는 사용되지 않습니다. 여기에 8진수, 16진수 등이 나타나면 쉘은 자동으로 변환 비교를 수행합니다.
$[...]
표현식이라는 단어는 정수 확장을 나타냅니다.
대괄호 안의 정수 표현식을 실행하세요. 예:
1.a=3
2.b=7
3.echo$[$a+$b]
4.echo$[$a*$b]
5. 10과 21
(())
이중 괄호.
정수 확장을 나타냅니다.
이중 괄호 구조에서 모든 표현식은 a++, b-- 등과 같이 C 언어와 유사할 수 있습니다.
이중 괄호 구조에서는 모든 변수 앞에 "$" 기호를 붙일 필요가 없습니다.
이중 괄호는 논리 연산과 4가지 산술 연산을 수행할 수 있습니다.
이중 괄호 구조는 조건부 테스트 연산의 경우 확장됩니다.
여러 표현식 연산을 지원하며 각 표현식은 ","
> ; &<
>&
>
<
<>
scriptname >filename은 scriptname의 출력을 filename 파일로 리디렉션하고, filename 파일이 존재하는 경우 원본 파일을 덮어씁니다.
command &>filename은 명령의 표준 출력(stdout)과 표준 오류(stderr)를 file filename in;
command >&2는 명령의 표준 출력(stdout)을 표준 오류(stderr)로 리디렉션합니다.
scriptname >>filename scriptname의 출력(>과 동일)을 filename에 추가합니다. , if 파일이 존재하지 않으면 생성됩니다. >는 파일이 있으면 덮어쓰고, 없으면 생성된다는 의미이고, >는 파일이 없으면 원본에 추가된다는 의미입니다.
[i]<>filename 읽기 또는 쓰기를 위해 파일 이름을 열고 파일에 대한 파일 설명자(파일 설명자)로 i를 지정합니다.
<<
표시보다 두 배 적습니다(여기-문서[표시보다 두 배 적음]).
이것은 Here-document라고도 하며 후속 콘텐츠를 왼쪽 명령의 표준 입력으로 리디렉션하는 데 사용됩니다. <<포맷 시간을 절약하고 명령 실행 처리를 더 쉽게 만듭니다. 구현 중에는 << 및 종료 식별자만 입력하면 되며(일반적으로 Enter 키를 누른 후) 마지막 새 줄에 종료 식별자를 입력하기만 하면 데이터를 가져올 수 있습니다. 완전한. . here-document를 사용하면 공백, 줄 바꿈 등을 유지할 수 있습니다. 쉘 스크립트를 더 깔끔하게 만들고 싶다면 << 사이에 하이픈(-)을 넣을 수 있습니다.
<<<
세 개의 미만 기호(여기 문자열)입니다. Here-string은 Here-document, here-strings 구문과 유사합니다. command [args] <<<["]$word["]; $word는 확장되어 command의 표준 입력으로 사용됩니다.
<...>
단어 경계.
이것은 단어 경계를 표시하기 위해 정규 표현식에 사용되는 특수 구분 기호입니다. 예를 들어, the는 거기, 다른 것, 그들과 일치합니다. the만 일치시키려는 경우 이 단어 경계 문자를 사용할 수 있습니다.
|
파이프. 파이프는 Linux와 Unix 모두에 존재하는 개념이며 매우 기본적이고 중요한 개념입니다. 그 기능은 파이프라인(왼쪽) 이전 명령에 의해 생성된 출력(stdout)을 파이프라인(오른쪽) 이후 명령의 입력(stdin)으로 사용하는 것입니다. 예: ls | wc l, 파이프를 사용하여 명령을 함께 연결할 수 있습니다. 참고: 파이프에 있는 각 프로세스의 표준 출력은 다음 명령의 표준 입력으로 사용됩니다. 해당 기간 동안의 표준 출력은 파이프를 통과할 수 없으며 다음 명령의 표준 입력으로 사용됩니다. | ls -al | 이것의 출력을 생각해 보십시오. 또한 파이프는 하위 프로세스로 실행되므로 파이프로 인해 변수가 변경될 수 없습니다.
>|
강제 리디렉션.
이렇게 하면 기존 파일을 강제로 덮어쓰게 됩니다.
&
(백그라운드에서 작업 실행[앰퍼샌드]).
명령 뒤에 & 기호가 오면 명령이 백그라운드에서 실행됩니다.
&&
||
논리 연산자.
테스트 구조에서는 이 두 연산자를 사용하여 두 논리값을 연결할 수 있습니다. || 테스트 조건 중 하나가 true이면 0(true)을 반환하고, 모두 false이면 false를 반환합니다. &&는 두 테스트 조건이 모두 true이면 true(0)를 반환하고, 있으면 false를 반환합니다.
-
빼기 기호, 하이픈(하이픈/빼기/대시).
1. 옵션으로는 접두사 [옵션, 접두사]가 사용됩니다.
2. stdin 또는 stdout 리디렉션의 소스 또는 대상 [대시] tar에 bunzip2 프로그램 패치가 없으면 다음을 수행할 수 있습니다: bunzip2 linux-2.6.13.tar.bz2 | 이전에 압축 해제된 데이터를 tar의 표준 입력으로 사용합니다(여기서는 a -가 사용됨)
참고: 구현 중 파일 이름이 [-]로 시작하는 경우 이를 방향 연산자로 추가하면 오류가 발생할 수 있습니다. 이번에는 이러한 상황을 방지하기 위해 파일에 적절한 접두사 경로를 추가해야 합니다. 마찬가지로 변수를 에코할 때 변수가 [-]로 시작하면 예기치 않은 결과가 발생할 수 있으므로 안전을 위해 큰따옴표를 사용할 수 있습니다. 스칼라 인용:
N var = "-n" echo $ var ## 출력이 무엇인지 확인해 보세요. 또한 이 표현 방법은 Bash에 내장되어 있지 않습니다. 이 효과를 얻으려면 사용 중인 소프트웨어가 이 작업을 지원하는지 확인해야 합니다. 3. 다른 디렉터리로 이동하고 이전 경로로 돌아가려면 cd -를 사용하여 목표를 달성할 수 있습니다. 실제로 여기서 [-]는 환경 변수 $OLDPWD를 사용합니다. 참고: [-] 및 이전 지점. 4. 산술 연산에는 빼기 기호 또는 음수 기호가 사용됩니다. =같습니다. 1. 변수에 값을 지정할 때 등호 양쪽에 공백이 있나요? 2. 비교 테스트에서 비교 기호로 나타나는 경우 주의하세요. 대괄호의 경우 등호 왼쪽과 오른쪽에 공백 문자가 필요합니다. +플러스. 1. 덧셈을 나타내는 산술 연산자 2. 정규식에서는 앞의 일치 규칙이 한 번 이상 일치함을 의미합니다. 3. 특정 항목에서 +를 사용합니다. 특정 옵션을 활성화하고 -를 사용하여 비활성화하는 일부 명령 또는 내장 명령 4. 매개변수 대체(매개변수 대체)에서 + 접두사는 대체 값을 나타냅니다(변수가 비어 있으면 + 뒤의 값 사용).%
퍼센트 기호(모듈로[퍼센트 기호]).
1. 산술 연산에서 두 숫자를 나눈 나머지인 모듈로 연산자입니다.
2. 매개변수 대체에서 패턴 일치로 사용할 수 있습니다. 예:
p=b*9
var="abcd12345abc479"
’ ’ s ’ ’ s ’ ’ s ’s’s’ ‐ ‐ ‐ ‐ p=b*9
)( 홈 디렉토리[물결표]).
내부변수 $HOME과 동일합니다. 기본적으로 이는 현재 사용자의 홈 디렉터리(홈 디렉터리)를 나타냅니다. 이는 ~/와 동일한 효과를 갖습니다. 물결표 뒤에 사용자 이름이 오면 사용자의 홈 디렉터리를 나타냅니다.
^
캐럿.
1. 정규식에서는 줄의 시작 위치 식별자로
2. 매개변수 대체(Parametersubstitution)에서 이를 사용하는 방법에는 캐럿(${ var^})이 있습니다. 또는 두 개(${var^^}), 이는 첫 글자가 대문자이고 모두 대문자가 사용됨을 의미합니다(Bash 버전 >=4).
공백
공백.
공백은 공백(space)을 의미할 뿐만 아니라 탭(tabs), 빈줄(blank line) 또는 이들의 조합을 포함합니다. 명령이나 변수를 구분하는 함수 구분 기호로 사용할 수 있습니다. 빈 줄은 스크립트 동작에 영향을 주지 않으므로 가독성을 높이기 위해 스크립트 코드를 계획하는 데 사용할 수 있습니다. 특정 명령을 대상으로 하는 데 사용됩니다. 입력 매개변수는 분할되며 기본값은 공백 문자입니다. 문자열이나 변수에 공백 문자가 있는 경우 따옴표를 사용하여 가능한 오류를 방지할 수 있습니다.
위 내용은 Bash에서 일반적으로 사용되는 특수 문자 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!