awk
명령을 실행하는 동안 오류가 발생했습니다.
echo $(awk 'BEGIN {printf "%.2f\n",'$sizes'/1073741824}')GB >> $MAINS/logs/bks1
정수를 크기(GB)로 변환하는 것입니다. 하지만 이런 오류가 발생합니다
awk: cmd. line:1: BEGIN {printf "%.2f GB\n",/1073741824}
awk: cmd. line:1: ^ unterminated regexp
awk: cmd. line:1: BEGIN {printf "%.2f GB\n",/1073741824}
awk: cmd. line:1: ^ unexpected newline or end of string
때로는 잘 작동
이 명령을 실행하기 전에 절전 모드를 추가해야 합니까? 시간을 내어 도움을 주신 모든 분들께 감사드립니다.
답변1
변수가 비어 있으면 sizes
예상대로 빈 문자열로 대체됩니다. 스크립트의 관련 부분에서 awk
슬래시로 시작하는 모든 문자열은 정규식의 시작으로 예상되지만 다른 슬래시로 끝나는 경우에만 유효한 정규식이 됩니다. sizes
이 작업을 수행하려면 스크립트가 비어 있지 않은지 확인해야 합니다 .
set -o nounset
스크립트에서 정의되지 않은(null이 아닌) 변수에 대한 알림을 받고, -o errexit
이러한 오류가 발생할 경우 이를 조합하여 스크립트를 중지합니다.