Bash는 명령줄 해석기 또는 Unix Shell이며 GNU/Linux 운영 체제에서 널리 사용됩니다. 브라이언 잔 폭스(Brian Jhan Fox)가 썼습니다. 대부분의 Linux 배포판에서 기본 로그인 셸로 사용됩니다. 스크립팅은 작업 실행을 자동화하여 사람이 개별적으로 작업을 수행할 필요가 없도록 하는 데 사용됩니다. Bash 스크립팅은 시스템에서 다양한 유형의 작업을 자동화하는 좋은 방법입니다. 개발자는 bash 스크립팅을 사용하여 반복적인 작업을 수행하는 것을 피할 수 있습니다.
Bash 스크립팅은 프로그래밍 언어와 마찬가지로 변수, 조건문 및 루프를 지원합니다. 다음은 Bash 스크립트의 일부 응용 프로그램입니다.
내용의 테이블
Bash 스크립트의 응용:
- 파일 조작
- 백업 작업과 같은 일상적인 작업 실행
- 오토메이션
Bash 스크립트를 사용하면 다음과 같은 이점이 있습니다.
Bash 스크립트의 장점:
- 간단하다.
- 반복적인 작업을 피하는 데 도움이 됩니다.
- 사용하기 쉬운
- 자주 수행하는 작업을 자동화할 수 있습니다.
- 일련의 명령을 단일 명령으로 실행할 수 있습니다.
Bash 스크립트의 단점은 다음과 같습니다.
Bash 스크립트의 단점:
- 글을 쓰는 동안 실수하면 비용이 많이 들 수 있습니다.
- 실행되는 거의 모든 쉘 명령에 대해 새로운 프로세스가 시작됩니다.
- 느린 실행 속도
- 다양한 플랫폼 간의 호환성 문제
Bash 스크립트를 작성하는 방법?
Bash 스크립트를 작성하려면 다음 단계를 따르십시오.
mysql은 모든 사용자를 보여줍니다
- 먼저 확장자가 .sh인 파일을 만듭니다.
- 다음으로 그 안에 bash 스크립트를 적어보겠습니다.
- 그 후 실행 권한을 부여하겠습니다.
.sh 확장자를 가진 파일을 만들고 쓰려면 다음을 사용할 수 있습니다. gedit 텍스트 에디터. 이에 대한 명령은 –
gedit scriptname.sh>
스크립트 파일의 첫 번째 줄은 다음과 같습니다.
#!/bin/bash>
이는 시스템이 실행을 위해 Bash를 사용하도록 알려줄 것입니다. 그런 다음 우리는 우리 자신의 스크립트를 작성할 수 있습니다.
터미널에서 몇 줄을 인쇄하는 간단한 스크립트를 작성해 보겠습니다. 이에 대한 코드는 –
#!/bin/bash echo 'Hello, techcodeview.com'>
이제 파일을 저장하고 실행 권한을 부여하겠습니다. 그렇게 하려면 다음 명령을 사용하십시오 –
chmod +x scriptname.sh>
다음 스크립트를 실행하기 위해 다음 명령을 사용합니다.
./scriptname.sh>
다음은 위 명령을 실행한 후의 터미널 셸 그림 설명입니다.
여기서 스크립트 파일 이름은 gfg.sh입니다.
이제 Bash 스크립트를 사용하여 더 복잡한 명령을 작성할 수도 있습니다. 다음은 조건문을 사용하는 예입니다.
예제 스크립트:
#!/bin/bash Age=17 if [ '$Age' -ge 18 ]; then echo 'You can vote' else echo 'You cannot vote' fi>
산출:
You cannot vote>
다음은 위 스크립트를 실행한 후의 터미널 셸 그림 설명입니다.
위의 방법으로 여러 Bash 명령을 한 번에 실행할 수 있습니다.
이제 Bash 스크립팅과 관련된 다른 중요한 개념을 살펴보겠습니다.
파일 이름 및 권한
위의 예에서는 다음을 사용하여 파일을 저장했습니다. gfg.sh 이름을 지정하고 다음을 사용하여 실행 권한도 제공했습니다. chmod 명령. 이제 우리가 왜 그렇게 했는지 이해해 봅시다.
리눅스의 cp 명령
Bash 스크립트를 작성하는 동안 Linux 시스템이 실행할 수 있도록 파일을 .sh 확장자로 저장해야 합니다. .sh 확장자를 가진 파일을 처음 생성하면 실행 권한이 없으며 실행 권한이 없으면 스크립트가 작동하지 않습니다. 따라서 우리는 다음을 사용하여 실행 권한을 제공해야 합니다. chmod 명령.
Bash 스크립트의 파일 이름은 관례에 따라 무엇이든 될 수 있습니다. 스크립트 파일 이름을 지정하려면 스네이크 케이스( my_bash_script.sh ) 또는 하이픈( my-bash-script.sh )을 사용하는 것이 좋습니다.
변수
Bash 스크립팅에서 변수를 사용할 수 있습니다. 다음은 Bash 스크립트에서 변수의 사용법을 이해하기 위한 샘플 프로그램입니다.
예제 스크립트:
Name='SATYAJIT GHOSH' Age=20 echo 'The name is $Name and Age is $Age'>
변수 출력:
The name is SATYAJIT GHOSH and Age is 20>
여기에 두 개의 변수가 선언되었습니다. 이름 그리고 또 하나는 나이. 이러한 변수는 $Name 및 $Age를 사용하여 액세스할 수 있습니다. 즉, 다음을 사용하여 bash 스크립트에서 변수를 선언할 수 있습니다. 변수이름=값 다음을 사용하여 액세스할 수 있습니다. $변수이름. 다음은 위 스크립트를 실행한 후의 터미널 셸 그림 설명입니다.
Bash 스크립팅에는 두 가지 유형의 변수가 있습니다. 일반적으로 변수가 함수 내부에서 선언되면 일반적으로 지역변수 그리고 그것이 외부에 선언된다면 그것은 전역 변수 . bash 스크립트의 경우 이 개념은 약간 다릅니다. 여기서는 기본적으로 함수 내부에 작성되거나 함수 외부에 작성되는 모든 변수가 전역 변수입니다. 지역 변수를 만들고 싶다면 local 키워드를 사용해야 합니다.
메모: 불필요한 혼란을 피하기 위해 항상 함수 내에서 지역 변수를 사용하는 것이 가장 좋습니다.
동일한 예가 아래에 나와 있습니다.
예제 스크립트:
#!/bin/bash var1='Apple' #global variable myfun(){ local var2='Banana' #local variable var3='Cherry' #global variable echo 'The name of first fruit is $var1' echo 'The name of second fruit is $var2' } myfun #calling function echo 'The name of first fruit is $var1' #trying to access local variable echo 'The name of second fruit is $var2' echo 'The name of third fruit is $var3'> 지역 및 전역 변수의 출력:
The name of first fruit is Apple The name of second fruit is Banana The name of first fruit is Apple The name of second fruit is The name of third fruit is Cherry>
위의 예에서 var2는 지역 변수이므로 함수에서 이에 액세스할 때는 제대로 작동하지만 함수 외부에서 액세스하려고 하면 출력에 빈 결과가 표시됩니다.
반면 프로그래밍 언어와 달리 var3은 함수 내부에 정의되어 있어도 여전히 전역 변수로 작동하며 함수 외부에서 액세스할 수 있습니다. 아래는 스크립트를 실행한 후의 터미널 셸 묘사입니다.
입력과 출력
입력 및 출력은 쉘 스크립팅의 기본 개념입니다. 스크립트는 하나 이상의 입력을 받을 수 있으며 0개 또는 여러 개의 출력을 생성할 수도 있습니다. 일부 오류가 발생할 수도 있습니다. 예를 들어 이것을 이해해 봅시다 -
예제 스크립트:
echo 'Enter filename' read filename if [ -e $filename ] then echo '$filename is exits on the directory' cat $filename else cat>$filename echo '파일 생성됨' fi>
입력 및 출력의 출력:
처음으로:
Enter filename geeks.txt Hello Geek File created>
두번째:
Enter filename geeks.txt geeks.txt is exits on the directory Hello Geek>
따라서 위의 예에서 처음으로 스크립트는 해당 파일 이름을 가진 파일을 찾을 수 없으며 else 블록이 실행됩니다. 파일을 생성하고 해당 파일에 일부 데이터를 넣었습니다. 동일한 파일 이름으로 두 번째 실행하면 파일을 찾습니다. 따라서 if 블록이 실행되고 파일 내용이 표시됩니다. 파일 내용을 읽는 것이 입력이고 파일에 처음 데이터를 넣는 것은 출력으로 간주됩니다. 여기서 우리는 > 콘텐츠를 파일에 저장하기 위한 것입니다. 그만큼 > 표기법은 리디렉션에 사용됩니다. 표준 출력 파일로. 반면에 우리는 다음을 사용할 수 있습니다. 2> stderr를 리디렉션하는 표기법 &> stdout과 stderr을 모두 리디렉션합니다.
아래는 다음 스크립트를 실행한 후의 터미널 셸 그림 설명입니다.
기능
프로그래밍에서 함수는 일부 작업을 수행하는 코드 블록이며 작업 수행을 위해 여러 번 호출될 수 있습니다. Bash 스크립팅에서 함수를 사용하는 가장 간단한 예는 다음과 같습니다.
예제 스크립트:
#!/bin/bash #It is a function myFunction () { echo Hello World from techcodeview.com } #function call myFunction> 함수 출력:
Hello World from techcodeview.com>
위의 예는 호출될 때 무언가를 인쇄하는 함수를 보여줍니다.
따라서 Bash 스크립트 내에서 함수를 작성하기 위한 기본 구문은 다음과 같습니다.
함수 구문:
#for defining function_name(){ commands ..... } function_name # for calling> 이 외에도 인수를 전달하고 값을 반환하는 함수를 가질 수도 있습니다.
의사결정
프로그래밍에서 의사결정은 중요한 개념 중 하나입니다. 프로그래머는 코드 블록 실행을 위해 하나 이상의 조건을 제공합니다. 조건이 충족되면 해당 코드 블록만 실행됩니다.
쉘 스크립팅에는 두 가지 유형의 의사결정문이 사용됩니다. 그들은 -
자바 arraylist 정렬
1. If-else 문:
if else 문은 조건문입니다. 주어진 조건의 만족 여부에 따라 두 가지 다른 코드를 실행하는 데 사용할 수 있습니다.
if-else 문에는 몇 가지 종류가 있습니다. 그들은 -
- 만일-fi
- if-else-fi
- if-elif-else-fi
- 중첩된 if-else
가장 간단한 구문은 다음과 같습니다.
If-else 문의 구문:
if [ expression ]; then statements fi>
예제 스크립트:
Name='Satyajit' if [ '$Name' = 'Satyajit' ]; then echo 'His name is Satyajit. It is true.' fi>
if-else 문의 출력:
His name is Satyajit. It is true.>
위의 예에서는 조건을 확인하는 동안 이름이 일치하고 조건이 true가 됩니다. 따라서 if 블록 내에 있는 코드 블록이 실행됩니다. 이름이 일치하지 않으면 출력이 되지 않습니다. 아래는 다음 스크립트를 실행한 후의 터미널 셸 그림 설명입니다.
2. Case-Sac 문:
case-sac은 기본적으로 프로그래밍의 스위치 문과 동일하게 작동합니다. 때로는 여러 조건을 확인해야 하는 경우 if 문을 사용하면 복잡해질 수 있습니다. 그 순간에 우리는 Case-Sac 문을 사용할 수 있습니다. 구문은 –
Case-Sac 문의 구문:
case $var in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>
예제 스크립트:
Name='Satyajit' case '$Name' in #case 1 'Rajib') echo 'Profession : Software Engineer' ;; #case 2 'Vikas') echo 'Profession : Web Developer' ;; #case 3 'Satyajit') echo 'Profession : Technical Content Writer' ;; esac>
Case-Sac 문의 출력:
Profession : Technical Content Writer>
위의 예에서 case-sac 문은 'Name'과 일치하는 패턴의 일부인 문을 실행했습니다. 아래는 다음 스크립트를 실행한 후의 터미널 셸 그림 설명입니다.
문자열과 숫자 비교
문자열 비교는 쉘 스크립팅에서 문자열 내에서도 비교를 수행하여 결정을 내릴 수 있음을 의미합니다. 다음은 모든 연산자가 포함된 설명 테이블입니다.
| 운영자 | 설명 |
|---|---|
| == | 문자열이 같으면 true를 반환합니다. |
| != | 문자열이 같지 않으면 true를 반환합니다. |
| -N | 테스트할 문자열이 null이 아닌 경우 true를 반환합니다. |
| -와 함께 | 테스트할 문자열이 null이면 true를 반환합니다. |
산술 연산자는 산술 기반 조건을 확인하는 데 사용됩니다. 보다 작음, 보다 큼, 같음 등과 같습니다. 다음은 모든 연산자가 포함된 설명 테이블입니다.
| 운영자 | 설명 |
|---|---|
| -eq | 동일한 |
| -ge | 보다 크거나 같음 |
| -gt | 보다 큰 |
| -그만큼 | 작거나 같음 |
| -lt | 미만 |
| - 이다 | 같지 않음 |
다음은 동일한 간단한 예입니다.
예제 스크립트:
if [ 10 -eq 10 ];then echo 'Equal' fi if [ 'Geeks' == 'Geeks' ]; then echo 'same' #output else echo 'not same' fi>
문자열 및 숫자 비교 출력:
학교는 언제 발명됐나
Equal same>
이 예에서 첫 번째 항목(-eq)은 동등성을 확인하는 숫자 비교입니다. 두 번째 것( == )도 동일성을 검사하지만 문자열입니다. 아래는 다음 스크립트를 실행한 후의 터미널 셸 그림 설명입니다.

다음 기사에서 이 개념에 대해 자세히 알아볼 것입니다.
결론
이 기사에서는 Linux 환경 내에서 작업을 자동화하는 데 중요한 역할을 하는 Bash 스크립팅에 대해 설명합니다. 명령줄 해석기인 Bash는 개발자가 일상적인 작업을 간소화하고, 파일을 조작하고, 복잡한 작업을 실행하는 스크립트를 만들 수 있도록 단순성과 사용 편의성을 제공합니다. Bash 스크립트는 반복적인 작업을 피하고 일련의 명령을 효율적으로 실행하여 생산성을 향상시킬 수 있지만 권한 관리, 변수 처리 및 의사 결정 구조 구현과 같은 고려 사항도 함께 제공됩니다. Bash 스크립팅을 마스터함으로써 사용자는 그 기능을 활용하여 작업 흐름을 최적화하고 Linux 플랫폼에서 시스템 관리 작업을 향상시킬 수 있습니다.