shopt를 사용하여 Bash 셸을 사용자 지정하는 방법

0
923

Linux 노트북의 터미널 프롬프트입니다.
Fatmawati Achmad Zaenuri / Shutterstock

Bash 셸의 동작을 다음과 같이 미세 조정하면 shopt, 50 개 이상의 설정을 제어 할 수 있습니다. 원하는 방식으로 Linux 시스템을 조정하는 방법을 보여 드리겠습니다.

Shopt 내장

그만큼 shopt built-in은 Bash 쉘의 모든 버전의 일부이므로 아무것도 설치할 필요가 없습니다. 사용 가능한 옵션의 수 shopt 수년에 걸쳐 꾸준히 증가했습니다. 따라서 보유한 Bash 버전이 이전 버전 일수록 목록이 짧아집니다. shopt 옵션이 될 것입니다.

컴퓨터에서 무언가가 작동하지 않는 것 같으면 man Bash에 대한 페이지 항목을 확인하고 해당 버전에서 옵션을 사용할 수 있는지 확인 shopt.

우리는 모든 것을 다룹니다 shopt 아래 옵션. 또한 사용 방법을 설명하고 몇 가지 예를 공유합니다. 거기에서 Bash 매뉴얼 페이지 또는 GNU Bash 참조 매뉴얼을 확인하여 이러한 옵션이 유용하거나 매력적으로 들리는 지 확인할 수 있습니다.

약간 shopt 옵션은 기본적으로 활성화되어 있으며 Bash의 기본 동작의 일부를 형성합니다. 당신은 shopt Bash에 대한 단기 변경으로 옵션. 그러면 셸을 닫을 때 기본 동작으로 되돌아갑니다.

그러나 Bash 셸을 시작할 때마다 수정 된 동작을 사용할 수 있도록하려면 변경 사항을 영구적으로 적용 할 수 있습니다.

쇼핑 옵션

53 개 있습니다 shopt 옵션. 사용하는 경우 shopt 옵션이없는 명령은 이러한 항목을 나열합니다. 출력을 wc 명령, 그것은 우리를 위해 줄, 단어 및 문자를 계산합니다. 각각 shopt 옵션은 자체 행에 있으며 행 수는 옵션 수입니다.

다음을 입력합니다.

shopt | wc

쇼핑 |  터미널 창에서 화장실.

모든 옵션을 보려면 다음을 통해 출력을 파이프 할 수 있습니다. column 옵션 이름을 열에 표시하는 명령을 사용하거나 less.

다음을 입력합니다.

shopt | column

쇼핑 |  터미널 창에서 열.

Linux 매뉴얼에서 쇼핑 찾기

논의 섹션 shopt 옵션은 Linux 매뉴얼의 Bash 섹션에 있습니다. Bash 섹션은 6,000 줄이 넘습니다. 다음에 대한 설명을 찾을 수 있습니다. shopt 많이 스크롤하거나 매뉴얼에서 검색 할 수 있습니다.

이렇게하려면 Bash 섹션에서 설명서를 엽니 다.

man bash

터미널 창에서 남자 bash.

설명서에서 / 검색을 시작합니다. 다음을 입력하고 Enter를 누릅니다.

assoc_expand_once

터미널 창의 명령 줄에 검색어를 입력 한 매뉴얼의 Bash 섹션.

시작 shopt옵션 섹션이 man 창문.

터미널 창에있는 Bash 매뉴얼 페이지의 shopt 옵션 섹션을 보여주는 매뉴얼.

관련 : Linux의 man 명령을 사용하는 방법 : 숨겨진 비밀과 기본

옵션 설정 및 설정 해제

설정 및 해제하려면 shopt 옵션을 사용하려면 다음 명령을 사용하십시오.

  • -에스: 설정 또는 활성화합니다.
  • -유: 설정 해제 또는 비활성화합니다.

일부 옵션은 기본적으로 활성화되어 있기 때문에 어떤 옵션이 켜져 있는지 확인하는 것도 편리합니다. 당신은 -s-u 옵션 이름을 사용하지 않고 옵션. 이것은 shopt 켜고 끄는 옵션을 나열합니다.

다음을 입력하십시오.

shopt -s

터미널 창에서 shopt -s.

shopt -u | column

shopt -u |  터미널 창에서 열.

사용할 수 있습니다 shopt 옵션없이 -s 또는 -u 각 옵션의 켜짐 또는 꺼짐 상태를 확인하는 명령.

예를 들어 다음을 입력하여 설정을 확인할 수 있습니다. histverify 선택권:

shopt histverify

다음을 입력하여 on으로 설정할 수 있습니다.

shopt -s histverify

그런 다음 다음을 입력하여 다시 확인할 수 있습니다.

shopt histverify

터미널 창에서 shopt histverify.

그만큼 histverify 옵션은 history 명령이 작동합니다. 일반적으로 history 번호로 참조하여 명령을 반복하려면 !245, 명령은 명령 기록에서 검색되어 즉시 실행됩니다.

명령을 검토하여 예상 한 것인지 확인하고 필요한 경우 편집하려면 다음을 입력하여 shopt histverify 옵션 :

!245

! 245 터미널 창에서.

명령이 검색되어 명령 줄에 표시됩니다. Enter 키를 눌러 삭제, 편집 또는 실행할 수 있습니다.

관련 : Linux에서 history 명령을 사용하는 방법

autocd 옵션

와 더불어 autocd 옵션을 on으로 설정하면 명령 줄에 디렉토리 이름을 입력하고 Enter 키를 누르면 입력 한 것처럼 처리됩니다. cd 그 앞에.

다음을 입력하여 autocd 선택권:

shopt -s autocd

그런 다음 디렉토리 이름을 입력합니다.

Documents

터미널 창에서 shopt -s autocd.

cdspell 옵션

cdspell 옵션이 켜져 있으면 Bash는 디렉토리 이름의 간단한 철자 오류와 오타를 자동으로 수정합니다.

다음을 입력하여 cdspell 선택권:

shopt -s cdspell

대문자 첫 글자가 있어야하는 소문자 디렉토리로 변경하려면 다음을 입력합니다.

cd documents

그런 다음 다음을 입력하여 이름에 추가 “t”가있는 디렉토리 이름을 시도 할 수 있습니다.

cd ../Picttures

터미널 창에서 shopt -s cdspell.

Bash는 철자 오류에 관계없이 각 디렉토리로 변경됩니다.

xpg_echo 옵션

xpg_echo 옵션이 on으로 설정되어 있으면 echo 명령은 다음과 같이 이스케이프 된 문자를 따릅니다. n 새로운 라인 및 t 수평 탭용.

먼저 다음을 입력하여 옵션이 설정되었는지 확인합니다.

shopt -s xpg_echo

그런 다음 n 우리가 전달할 문자열에서 echo:

echo "This is line onenThis is line two"

터미널 창에서 shopt -s xpg_echo.

이스케이프 된 개행 문자는 출력에서 ​​줄 바꿈을 강제합니다.

이것은 -e (이스케이프 해석 사용) echo 옵션이지만 xpg_echo 기본 작업이 될 수 있습니다.

관련 : Linux에서 Echo 명령을 사용하는 방법

dotglob 옵션

그만큼 dotglob 옵션은 약간의주의를 기울여야합니다. 마침표 ()로 시작하는 파일과 디렉토리를 허용합니다..) 이름 확장 또는 ‘글 로빙’에 포함됩니다. 이를 “도트 파일”또는 “도트 디렉터리”라고하며 일반적으로 숨겨져 있습니다. 그만큼 dotglob 옵션은 이름 시작 부분의 점을 무시합니다.

먼저 다음을 입력하여 “geek”로 끝나는 파일 또는 디렉토리를 검색합니다.

ls *geek

하나의 파일이 발견되고 나열됩니다. 그런 다음 dotglob 다음을 입력하여 옵션 :

shopt -s dotglob

우리는 같은 것을 발행합니다 ls “geek”로 끝나는 파일과 디렉토리를 찾는 명령 :

ls *geek

ls * geek in a terminal window.

이번에는 두 개의 파일을 찾아서 나열하며 그중 하나는 도트 파일입니다. 조심해야합니다 rmmv 당신이 가지고있을 때 dotglob 옵션이 on으로 설정되었습니다.

nocaseglob 옵션

그만큼 nocaseglob 옵션은 dotglob 옵션, 제외 nocaseglob 파일 이름 및 디렉토리의 대소 문자 차이가 이름 확장에서 무시되도록합니다.

“how”로 시작하는 파일 또는 디렉토리를 찾기 위해 다음을 입력합니다.

ls how*

하나의 파일을 찾아서 나열합니다. 다음을 입력하여 nocaseglob 선택권:

shopt -s nocaseglob

그런 다음 우리는 ls 명령:

ls how*

터미널 창에서 방법 *.

두 개의 파일이 발견되었으며 그 중 하나에는 대문자가 포함되어 있습니다.

영구적 인 변경

우리가 만든 변경 사항은 현재 Bash 셸을 닫을 때까지만 지속됩니다. 다른 쉘 세션에서 영구적으로 만들려면 “.bashrc”파일에 추가해야합니다.

홈 디렉토리에서 다음 명령을 입력하여 그래픽 Gedit 텍스트 편집기에서 “.bashrc”파일을 엽니 다 (또는 원하는 편집기를 사용하도록 적절하게 변경).

gedit .bashrc

그만큼 gedit “.bashrc”파일이로드 된 상태로 편집기가 열립니다. 당신은 몇 가지를 볼 수 있습니다 shopt 항목이 이미 있습니다.

.bashrc가로드되고 shopt 옵션이 강조 표시된 gedit 편집기.

직접 추가 할 수 있습니다. shopt 여기에 옵션도 있습니다. 추가했으면 변경 사항을 저장하고 편집기를 닫습니다. 이제 새 Bash 셸을 열 때마다 옵션이 설정됩니다.

눈으로 볼 수있는 옵션

그것은 사실입니다 shopt 명령에는 많은 옵션이 있지만 한 번에 모든 옵션을 다룰 필요는 없습니다. 너무 많기 때문에 관심이 없을 수도 있습니다.

예를 들어, Bash가 특정 이전 버전과 호환되는 방식으로 작동하도록 강제하는 무리가 있습니다. 누군가에게 유용 할 수 있지만 상당히 틈새 시장입니다.

Bash 매뉴얼 페이지 또는 GNU Bash 참조 매뉴얼을 검토 할 수 있습니다. 어떤 옵션이 자신에게 영향을 미칠지 결정한 다음 실험 해보십시오. 파일 및 디렉토리 이름이 확장되는 방식에 영향을주는 옵션에주의하십시오. 다음과 같은 무해한 명령으로 시도하십시오. ls, 편안해질 때까지.