본문 바로가기
728x90
반응형

bash4

[zsh] 변수 여부 체크하고 없으면 다른 값 할당하기 : ${val0:-val1} zsh 등의 shell script에서 다음과 같은 형태로 변수할당이 되는 경우가 있음. rval=${ZDOTDIR:-$HOME} 이 경우, ZDOTDIR 란 변수가 비어있지 않은 경우에는 rval는 ZDOTDIR과 같은 값을 가지게 된다. rval=$ZDOTDIR 과 같은 결과. 변수가 비어있다는 뜻은 empty 문자열이거나 undefined인 경우를 가르킴. 하지만, ZDOTDIR 란 변수가 비어있는 경우엔 HOME이라는 변수의 값이 할당된다. 즉 다음과 같은 결과임. rval=$HOME 다른 유용한 할당방법으로는 :=이 있음. 이는 기존에 할당이 되어있는지를 체크하여 기존에 값을 가진 경우는 그대로 유지하고, 비어있는 경우에만 할당을 수행한다. echo "${VAR1:=default}" VAR가 이.. 2023. 10. 25.
[Bash] 입출력 목적지 변경하기 : Redirection Operation stdout (표준출력, 1), sdtin(표준입력, 0), stderr(표준에러, 2)을 redirection하는 방법에 대한 문서 서버에서 백그라운드로 명령어 수행시 출력이나 error 메시지 등을 stdout이 아닌 file에 남길 때 유용. redirectiont operation에서 부등호 기호의 오른쪽에 stdin(0), stderr(2), stdout(1) 등이 놓일 경우 반드시 ampersand &가 주어져야 함. 1> , >&1 동시에 하나의 redirection operation이므로 중간에 공백문자가 들어가선 안 됨. stdin, stdout, stderr 에 할당된 번호들(0,1,2가 각각 할당됨)은 기본으로 할당된 File Descriptor(FD)임. Linux에서는 파일들에 i.. 2023. 10. 2.
[Shell] command substitution command substitution (명령어치환)우리나라말로 명령어 치환 이라고 불리며,특정 명령어의 수행결과를 문자열로 입력받는 형태로 셀프로그래밍 등에서 사용됨.command substitution 사용법아래 예제는 result.txt 를 현재 날짜 정보를 붙인 이름으로 변경해준다.mv result.txt result-$(date +%Y-%m-%d).txtcommand substitution은 위에서 $(date +%Y-%m-%d) 임.date 명령어에 해당 옵션을 줄 경우 2023-10-01 과 같은 형태의 문자열이 결과로 반환됨.이를 감싸고 있는 $(명령어) 부분(command)이 해당 문자열로 바뀌어짐(substitution).command substition은 다음과 같이 여러 단계로 겹쳐서.. 2023. 10. 1.
[Bash] shell 기본 : 변수 설정 및 반복구문 shell script란 shell에서 동작하는 script로,여러 command 들을 하나의 파일로 저장하고 해당 파일을 line별로 interpreting하여 수행시킬 수 있게 해주는 것을 가르킴.(.py파일이 python interptreter에 의해 동작하는 것처럼 .sh파일은 shell에 의해 statement별로 execute됨.)bash는 브라이언 폭스가 1987년 만든 shell로 1977년 만들어진 Unix의 Bourne shell과 호환성이 매우 높아서 가장 널리 사용되는 shell임.이를 좀 더 개선한 zsh과 함께 가장 많이 사용되고 있음.Shebang Lineshell script 파일은 반드시 #!/usr/bin/env bash와 같은 라인으로 시작해야한다.해당 line을 She.. 2023. 7. 19.
728x90
반응형