본문 바로가기

반응형

Shell

(6)
[Linux] 사용자, shell 개요Linux 시스템에는 관리자 작업을 위한 전용 그래픽 유틸리티를 갖추고 있다.하지만 아래와 같은 이유로 command line 모드에서 인터페이스를 사용할 수 있어야 한다.대부분의 시스템 명령어들은 모든 Linux 배포판에서 공통으로 사용되며, 그래픽 도구의 경우 그렇지 않을 수 있다.시스템이 올바르게 시작되지 않더라도 백업 명령 인터프리터에는 여전히 접근할 수 있을 수 있다.원격 관리는 SSH 터미널이 있는 command line에서 수행된다.서버 자원을 보존하기 위해, 그래픽 인터페이스는 설치되지 않거나 필요할 때에만 실행된다.관리 작업은 스크립트를 통해 수행된다.명령어를 통해 관리자는 Linux 터미널에 연결하여 리소스와 파일을 관리하고 스테이션, 터미널 및 연결된 사용자 등을 식별할 수 있다...
[Linux] bash shell - 조건문 사용법 Bash shell - if문#!/bin/bashif [ 조건식 ] # 조건식에는 아래 비교 연산자를 활용then 명령어elif [ 조건식 ]then 명령어else 명령어fi# 아래처럼 줄여서 사용도 가능하다.if [ 조건식 ]; then 명령어elif [ 조건식 ]; then 명령어else 명령어fi# 이중 괄호로 조건식을 묶으면 산술 연산자(>, 조건문산술연산자-eq : 두 수가 같음(equal) if [ "$a" -eq "$b" ]-ne : 두 수가 같지 않음(not equal) if [ "$a" -ne "$b" ]-gt : 왼쪽이 오른쪽보다 더 큼(greater than) ..
[Linux] shell code - [], [[]], (), (()) 차이 예를 들어 shell script에서 if문을 사용할 때, 일반적으로 []를 주로 사용했을 것이다.결론을 먼저 말하자면 []는 sh 기반이고, [[]]는 bash 기반으로 동작하는 차이가 있다.또한 []는 옛날 리눅스 환경의 잔해이다.[[]]는 []의 개선된 버전으로, 좀 더 직관적으로 표현하는 방식이 [[]]이다. 차이점[] 표현[[]] 표현바이너리 처럼 작용한다.bash에 따라 다르다.기본적으로 'not'연산자를 지원하지 않는다.단일 조건만 지원한다.대괄호 내에서 논리 연산자를 사용할 수 있다.test와 동의이다.새롭게 개선된 버전이며, 프로그램이 아닌 키워드이다. 개선점대괄호 안에 &&, ||와 같은 and, or 조건을 사용할 수 있다.큰따옴포 ""를 사용하지 않아도 된다.정규 표현식 사용시 패턴..
[Linux] shell script - python exit code exit code?종료 코드란 명령 또는 스크립트가 실행된 수 수신된 코드값이다. 종료 코드는 명령/스크립트의 결과에 대한 단서(성공/실패/기타 조건)를 보고하는 시스템이다.동의어로, '종료 상태', '반환 코드', '종료 상태 코드'가 있다.누군가 요청하지 않는 한 종료 코드는 스스로 출력하지 않는다.종료 코드는 코드 디버깅에 사용된다.종료 코드는 다양한 시스템 통합에 유용하다.python~shell exit codeshell로 python script를 실행하게 되면 python script 실행 결과에 대한 exit code를 반환해 볼 수 있을 것이다.이때 python은 'Sucess Exit Code'값으로 '0', 'Failure Exit Code'값으로 '1'을 반환한다.또는 사용자 지정 종..
[Linux] $?의 의미 $? 의 의미bash shell에서 가장 최근에 실행한 명령어의 종료 상태(status)를 가진 변수이다.또는 가장 최근에 실행한 함수의 return값을 가진 변수를 의미한다.% echo hellohello% echo $?0# 최근 명령어의 종료 상태가 정상% true% echo $?0% false% echo $?1주의할 점$? 는 앞서 언급했듯이 '가장 최근 실행 결과'를 저장하는 변수임을 잊으면 안된다.다시말해서, 가장 최근 실행 결과 코드가 무엇인지 출력하기 위해 다음과 같은 실수를 저지르면 안된다.잘못된 사용 예상황: shell을 통해 script 구동 후 결과에 따라 if문으로 처리하기python3.9 ./test.pyecho "result code: $?"if [[ $? -ne 0 ]]; th..
[Linux] IF문 if문 구조if [[ 조건식 ]]; then 수행문fi if문의 조건문[ -z ] : 문자열의 길이가 0이면 참[ -n ] : 문자열의 길이가 0이 아니면 참[ -eq ] : 값이 같으면 참[ -ne ] : 값이 다르면 참[ -gt ] :  값1 > 값2[ -ge ] : 값1  >= 값2[ -lt ] : 값1 [ -le ] : 값1 [ -a ] : &&연산과 동일 and 연산[ -o ] : ||연산과 동일 xor 연산[ -d ] : 파일이 디렉토리면 참[ -e ] : 파일이 있으면 참[ -L ] : 파일이 심볼릭 링크면 참[ -r ] : 파일이 읽기 가능하면 참[ -s ] : 파일의 크기가 0 보다 크면 참[ -w ] : 파일이 쓰기 가능하면 참[ -x ] : 파일이 실행 가능하면 참[ 파일1 -n..

반응형