-
[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