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
반응형