주 메뉴 열기

wwiki β

Bash

Jhkim (토론 | 기여)님의 2022년 2월 8일 (화) 13:40 판

정의(용어)

POSIX

Bash는 주로 POSIX 1003.1에서(https://standards.ieee.org/ieee/1003.1/7700/) Shell과 Utilities부분과 관련이 있다.

blank

공백 또는 탭 문자

builtin

실행파일이 아니라 Shell 자체에 내장된 명령이다.

control operator

control function을 수행하는 토큰이다. newline이거나 ‘||’, ‘&&’, ‘&’, ‘;’, ‘;;’, ‘;&’, ‘;;&’, ‘|’, ‘|&’, ‘(’, or ‘)’ 이다.

exit status

명령이 caller에게 리턴한 값이다. 8bit이다. (최대값 255)

field

text의 unit이다. text는 shell expansions의 하나의 결과이다. 명령이 실행되었을 때 expansion 후에 resulting fields는 명령어 이름과 arguments로서 사용된다.

file name

파일을 식별하는데 사용하는 문자열이다.

job

동일한 프로세스 그룹에 있는 파이프라인과 파이프라인에서 파생된 모든 프로세스로 구성된 프로세스 집합

job control

사용자가 프로세스 실행을 선택적으로 중지(일시 중지) 및 다시 시작(재개)할 수 있는 메커니즘

metacharacter

따옴표가 아닌 문자로 단어와 구분된다. metacharacter는 space, tab, newline 또는 다음 문자 중 하나이다. '|', '&', ';', '(', ')', '<', 또는 '>'.

name

letters, numbers, underscores로만 이루어진 단어이다. letter나 underscore로 시작한다. name은 쉘 변수와 함수명으로 사용된다. 식별자로 사용되기도 한다.

operator

control operator 혹은 redirection operator이다.

Shell Syntax

Shell Commands

Reserved Words

Simple Commands

Pipelines

List of Commands

Compound Commands

Looping Constructs

Conditional Constructs

if

if [ -z "$1" ] && [ -z "$2" ]

then

  somecode1

elif [ "$1" = "run" ]; then

  somecode

else

  somecode2

fi

연산자

=

!=

-z string

True if the length of string is zero.

-n string

True if the length of string is non-zero.

Grouping Commands

Coprocesses

GNU Parallel

Shell Functions

Shell Parameters

Shell Expansions

Brace Expansion

Tilde Expansion

Shell Parameter Expansion

명령 대체(Command Substitution)

다음과 같이 사용한다.

$(command)

or

`command`

변수에 넣어 출력할 수 있다. 첫번째 라인은 띄어쓰기가 없다.

OUTPUT=$(ls -1)
echo "${OUTPUT}"

Arithmetic Expansion

Process Substitution

Word Splitting

Filename Expansion

Quote Removal

Redirections

Executing Commands

Shell Scripts

stdout없애기

>/dev/null

stderr없애기

2>/dev/null

문자열

': 작은 따옴표 안의 문자 그대로 사용

": 문자열 변수는 치환

\": "출력해야 하는 경우


단축키

이동

  • alt+b: 현재 단어의 시작으로 이동
  • alt+f: 현재 단어의 끝으로 이동

잘라내기

  • alt+d: 커서부터 오른쪽 단어 잘라내기
  • ctrl+w: 커서의 왼쪽 단어 잘라내기
  • ctrl+k: 커서부터 끝까지 잘라내기
  • ctrl+u: 처음부터 커서 앞까지 잘라내기

실행

  •  !!: 직전 명령어 실행
  •  !tail: 이전 명령어 중에 tail 로 시작했던 명령어 실행
  • ctrl+r: Recall the last command matching the characters you provide.

프롬프트

외부입력