Bash Shell Programming 9

Bash Shell Programming(9)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/SChc2ye4gcg 산술연산 expr, let - expr 정수형 산술연산(+,-,*,/,%), 논리연산(|,&), 관계연산(=,!=,>,>=, /dev/null do echo "$username does not exist." echo -n "username to remove:" read username done sudo userdel -r $username # chmod u+x remove-user.sh 2. 작업 디렉토리를 입력 받아 해당 디렉토리에 파일의 수오 ㅏ디렉토리 수를 출력하는 프로그램을 작성하시오.

Bash Shell Programming(8)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/hG9T3K00qiE exit 실행된 프로그램이 종료된 상태를 전달 0 : 프로그램 또는 명령이 성공으로 종료했음을 의미 1-255 : 프로그램 또는 명령이 실패로 종료했음을 의미 1 : 일반에러 2 : Syntax error 126 : 명령을 실행할 수 없음 127 : 명령이 존재하지 않음 128 : 종료 시그널 + N(kill -9 PID로ㅓ 종료시 128+9=137 이 된다.) $? : 종료 값 출력 test 비교연산자 test 또는 [ 명령어 ] 명령어 실행결과를 true(0) 또는 false(1)로 리턴한다. test 명령어는 다양한 연산자를 지원한다. 연산자 설명 x ..

Bash Shell Programming(7)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/jzcE4vCg1sU Input & Output 1. echo 화면에 텍스트를 출력하는 명령어 -n : 메시지 출력후 newline 문자를 추가하지 않는다. -e : backslash escape 문자를 해석하여 특별한 의미를 지정한다. \t(TAB키) \n(줄바꿈) \a(alert) 2. read Standard input으로 부터 텍스트를 입력받음 -n : 지정한 문자수만큼 입력 받는다. -t : 지정된 시간안에 입력 받는다. -s : silent mode로 입력하는 글자가 보이지 않는다. read 명령에서 변수 명 생략 시 기본 REPLY 변수에 채워진다. 3. printf..

Bash Shell Programming(6)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/38wy3gsiR6Q 1. Positional Parameters 위치 매개변수 cp /etc/passwd ./pass cp 명령어 뒤에 첫 번째 argument로 /etc/passwd가 입력되고 두 번째 argument로 ./pass가 입력된 값이 변수로 저장되서 프로그램으로 전달된다. cp라는 명령어 자체는 실제로 바이너리(실행) 파일이다. /usr/bin/cp /etc/passwd /home/ubuntu/pass 실제로 명령어가 실행될 때의 모습은 위와 같다. 여기서 /etc/passwd 와 /home/ubuntu/pass가 argument data가 되는 것이다. 이러한 ..

Bash Shell Programming(5)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/onbFKxEEgHg - 용어 정리 - Script 하나의 파일안에 기존에 존재하는 명령어들을 집어넣어 순차적으로 해석하여 실행하도록 하는것 대표적으로 perl script와 shell script가 있다. Program 소스 코드를 파일에 집어 넣어두어 컴파일러가 컴파일하고 바이너리 명령어(프로그램)를 생성하여 동작시키도록 하는 것 대표적으로 C, C++, Java가 있다. Shell Script 리눅스 명령어들을 모아놓고 순차적으로 실행되도록 하는 것 Shell Program Shell Script에 추가적으로 from if while과 같은 프로그램 문법을 집어 넣어서 좀 ..

Bash Shell Programming(4)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/lhtdmcYllfA 1. Redirection - Communication Channels stdin: 입력을 통해서 프로그램에게 전달하는 채널, 키보드를 사용, 리눅스는 0번 채널을 사용 터미널: 프로그램이 작업한 결과를 보여줄 때 사용하는 디바이스 stdout: 입력에 대한 결과를 사용자에게 전달하는 채널, 리눅스는 1번을 사용 stderr: 에러메시지를 사용자에게 전달하는 채널, 리눅스는 2번을 사용 - Redirection Redirection 사용 예시 리다이렉션 0, 1은 생략이 가능하다. date를 입력하면 결과값을 사용자에게 모니터로 출력해준다. date abce..

Bash Shell Programming(3)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/UlQ-xu-koR0 Bash Shell 과 Rules 1. Quoting Rule - MetaCharacters shell에서 특별히 의미를 정해 놓은 문자들 \ ? () $ ... * % {} [] 등 * 는 전체, 전부의 뜻이다. ? 는 any single character의 의미이다. 즉, echo ??? 을 입력하면 3글자인 파일 혹은 디렉터리를 모두 출력한다. {}는 집합의 의미이다. 즉 myfile1, myfile2, myfile3 세개가 생성된다. - Quoting Rule : 메타 문자의 의미를 제거하고 단순 문자로 변경 Backslash(\) : \ 바로 뒤의 ..

Bash Shell Programming(2)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/ezsCVBTiUKs 1. Shell 변수란? - Shell 변수란? 데이터를 넣는 그릇 선언할 필요 없이 사용 가능하다. 변수명:문자,숫자,_(언더바)로 구성될 수 있지만, 시작은 반드시 문자나 _로 시작해야한다. - 변수 선언 : varname=value # fname=hyunjoon # score=90 - 변수 확인 : echo, set # echo $fname # set - 변수 제거 : unset varname # unset fname 2. shell의 환경 변수 - Shell 환경 변수란? 동작 되는 프로그램에 영향을 주는 변수이다. 환경변수는 export를 사용하여 ..

Bash Shell Programming(1)

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다. https://youtu.be/dsUyFss2Sh4 1. Shell의 역할 Shell이란? 사용자 명령어 해석기 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제에 전달한다. ex) 위와 같이 date라는 명령어를 입력하면 쉘이 해석하여 리눅스 운영체제 커널에게 전달한다. 2. shell의 종류 Bourne Shell(sh): AT&T 벨 연구소의 스티븐 본이 개발한 Original shell C Shell(csh,tcsh): Bill joy가 C 언어 기술을 넣어 만든 shell, C 언어 문법을 적용함, History, aliass, job control, vi command editing and com..