Bash에서 오류가 발생한 줄 번호를 어떻게 찾습니까?
예
필요한 것을 설명하기 위해 줄 번호가있는 다음과 같은 간단한 스크립트를 만듭니다. 스크립트는
cp $file1 $file2
cp $file3 $file4
cp
명령 중 하나가 실패하면 기능은 exit 1 로 종료 됩니다. 함수에 기능을 추가하여 줄 번호와 함께 오류를 인쇄합니다 (예 : 8 또는 12).
이것이 가능한가?
샘플 스크립트
1 #!/bin/bash
2
3
4 function in_case_fail {
5 [[ $1 -ne 0 ]] && echo "fail on $2" && exit 1
6 }
7
8 cp $file1 $file2
9 in_case_fail $? "cp $file1 $file2"
10
11
12 cp $file3 $file4
13 in_case_fail $? "cp $file3 $file4"
14
set -x
및 / 또는 set -v
추적 할 수 있습니다 . 정확히 당신이 요구 한 것은 아니지만 아마도 도움이 될 것입니다.