주 메뉴 열기

wwiki β

바뀜

Bash

4,873 바이트 추가됨, 2023년 6월 18일 (일) 05:30
편집 요약 없음
https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html bash 명령어를 사용하면 bash를 사용할 수 있다. 기본쉘을 변경하려면 chsh -s /bin/bash ==정의(용어) == === 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이다. === process group ===같은 process group ID를 가지는 연관된 프로세스들의 묶음이다. === process group ID === === reserved word ===예약어. ''for'', ''while'' 같은 것들이다. === return status ===exit status와 같다. === signal ===시스템에서 발생하는 이벤트를 커널이 프로세스에 알릴 수 있는 메커니즘입니다. === special builtin ===POSIX에 의해 특별 분류된 builtin command. === token ===shell에서 single unit으로 간주되는 문자의 sequence이다. ''word'' 이거나 ''operator''이다. === word ===shell에서 unit으로 취급되는 문자의 sequence이다. 단어들은 따옴표가 없는 metacharacters를 포함할 수 없다. ==Shell Syntax== == Shell Commands == === Reserved Words === === Simple Commands === === Pipelines === === List of Commands === === Compound Commands === ==== Looping Constructs ==== ==== Conditional Constructs ===='''if'''<syntaxhighlight lang=="bash">
if [ -z "$1" ] && [ -z "$2" ]
then
somecode1 elif [ "$1" = "run" ]; then  somecode
else
somecode2
fi
</syntaxhighlight>연산자
 
<nowiki>=</nowiki>
 
!=
 
'''-z string'''
 
True if the length of <var>string</var> is zero.
 
'''-n string'''
 
True if the length of <var>string</var> is non-zero.
 
==== Grouping Commands ====
 
=== Coprocesses ===
 
=== GNU Parallel ===
 
== Shell Functions ==
 
== Shell Parameters ==
 
== Shell Expansions ==
 
=== Brace Expansion ===
 
=== Tilde Expansion ===
 
=== Shell Parameter Expansion ===
 
=== 명령 대체(Command Substitution) ===
다음과 같이 사용한다.<syntaxhighlight lang="bash">
$(command)
</syntaxhighlight>or<syntaxhighlight lang="bash">
`command`
</syntaxhighlight>변수에 넣어 출력할 수 있다. 첫번째 라인은 띄어쓰기가 없다.<syntaxhighlight lang="bash">
OUTPUT=$(ls -1)
echo "${OUTPUT}"
</syntaxhighlight>
 
=== 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.
 
== 프롬프트 ==
.bashrc에 PS!변수에 저장된다.
 
special characters: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html#Controlling-the-Prompt
 
ANSI color: https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
 
== 외부입력 ==
http://www.gnu.org/software/bash/bash.html
== 단축키 ==alt+d매뉴얼: 커서부터 오른쪽 단어 삭제[[분류http:Linux]]//www.gnu.org/software/bash/manual/html_node/index.html[[분류:Command단축키]][[분류:Shortcut리눅스]]
편집
2,431