저는 bash 스크립팅의 초보자이고 엔터프라이즈 시스템에 API를 호출하고 결과를 TXT 파일로 반환하는 스크립트를 작성하고 싶습니다. 마지막으로 API로 생성된 출력 파일을 읽고 싶습니다. 아쉽게도 삭제해도 지나간 파일은 계속 읽히는데 왜그런지는 모르겠습니다.
#!/bin/bash
#Clearing the history to check whether it helps or not
history -cw
#Defining variables
Scan_Output="Scan_output.txt"
Scan_Confirmation_Date=`awk 'NR==7' $Scan_Output` # reads line 7 from txt file
#Removing file if already exists
rm -f $Scan_Output
#API Request
curl "my piece of code" > $ScanOutput
sleep 5
echo $Scan_Confrimation_Date
답변1
코드의 작업 순서를 따르십시오.
출력 파일 이름 정의
Scan_Output="Scan_output.txt"
파일에서 확인 날짜 가져오기(지금 실행)
Scan_Confirmation_Date=`awk 'NR==7' $Scan_Output` # reads line 7 from txt file
대상 파일 삭제
rm -f $Scan_Output
출력 파일에 대한 새로운 데이터 가져오기
curl "my piece of code" > $ScanOutput
스크립트 시작 부분에 우리가 반환하는 날짜를 작성합니다(변수 이름의 오타에 유의하세요).
echo $Scan_Confrimation_Date
당신이 정말로 이 글을 쓰고 싶었던 것 같지만, 확실하지는 않습니다.
#!/bin/bash
Scan_Output='Scan_output.txt'
curl "my piece of code" > "$ScanOutput"
Scan_Confirmation_Date=$(awk 'NR==7' "$Scan_Output")
printf "%s\n" "$Scan_Confirmation_Date"