ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Bash] 커맨드 서브스텔링
    Bash 2023. 10. 28. 13:57
    반응형

    커맨드 서브스텔링은 다른 명령의 출력을 변수에 할당하고 활용하는 기술입니다. 이를 통해 스크립트에서 명령 실행 결과를 변수로 저장하고 조작할 수 있습니다. 다음은 커맨드 서브스텔링을 활용한 고급 팁과 예제입니다.

    1. 명령 실행 결과 변수에 할당:

    $() 구문을 사용하여 명령 실행 결과를 변수에 할당할 수 있습니다.

    예제: 현재 디렉토리의 파일 목록을 변수에 할당

    #!/bin/bash
    
    file_list=$(ls)
    echo "Files in the current directory: $file_list"

     



    2. 명령의 표준 출력 및 표준 오류를 분리:

    $() 구문을 사용하여 명령의 표준 출력 및 표준 오류를 분리하여 서로 다른 변수에 저장할 수 있습니다.

    예제: 명령 실행 결과와 오류를 분리하여 변수에 저장

    #!/bin/bash
    
    command_output=$(ls non_existent_directory 2>&1)
    
    echo "Command output:"
    echo "$command_output"
    
    error_message=$(2>&1 echo "$command_output")
    
    echo "Error message:"
    echo "$error_message"

     


    3. 명령 실행 결과를 조작:

    커맨드 서브스텔링을 사용하여 명령 실행 결과를 변수에 저장하고 나중에 조작할 수 있습니다.

    예제: 명령 실행 결과에서 특정 문자열 검색

    #!/bin/bash
    
    file_list=$(ls)
    
    if [[ "$file_list" == *"example.txt"* ]]; then
        echo "example.txt found in the current directory."
    else
        echo "example.txt not found in the current directory."
    fi

     


    4. 명령 실행 결과를 반복:

    커맨드 서브스텔링을 사용하여 명령 실행 결과를 배열에 저장하고 반복할 수 있습니다.

    예제: 파일 목록을 배열에 저장하고 반복

    #!/bin/bash
    
    file_list=($(ls))
    
    echo "Files in the current directory:"
    for file in "${file_list[@]}"; do
        echo "$file"
    done

     

    반응형

    'Bash' 카테고리의 다른 글

    [Bash] 로그 파일 관리  (0) 2023.10.28
    [Bash] 환경 변수  (3) 2023.10.28
    [Bash] 권한 관리  (1) 2023.10.28
    [Bash] curl FTP SSH Telnet  (0) 2023.10.28
    [Bash] 날짜와 시간  (1) 2023.10.28
Designed by Tistory.