나는 학생이고 이것은 bash 스크립팅에 대한 첫 번째 노출이며, c를위한 간단한 Makefile을 사용하고있다.리눅스 터미널이 bash 스크립트에 걸려있다.
#!/usr/bin/sh
gcc -g -std=c99 -Wall -c field.c
gcc -g -std=c99 -Wall -c testField.c
gcc -g field.o testField.o -o testField
#testField get 0xa 0 1 > PA1output.txt
#testField get 0xaa 0 3 >> PA1output.txt
내 대본이가 실행 testField에 field.c 및 testField.c를 컴파일 할 수 있습니다. 마지막 2 줄을 주석 처리했는지 여부와 상관없이, 리눅스 터미널이 멈추고 10 초 동안 아무 일도 일어나지 않으면 Ctrl + C 키를 눌러 중지시킵니다. 궁극적으로 출력을 PA1output.txt로 리디렉션하고 파일 끝에있는 내용을 연결하려고하지만 매번 파일 내용을 다시 쓰려고합니다.
는 지금까지 내가 그것을 이해> 지정된 파일의 내용을 재 작성하고, >>는 말에 연결합니다.
이 내 숙제를하지 않습니다, 나는 내가 가진 다른 숙제의 테스트를 자동화하고 싶다. 'testField get 0xaa 0 3 내 C 프로그램에 인수입니다.'
나는 Bash script hangs 을 시도하지만 그건 전적으로 내 질문에 대답하지 않았다.입력하기 쉽도록 내 스크립트를 '다른 이름'이라고합니다.
왜 터미널이 멈추고 위에서 설명한 내용을 스크립트에 어떻게 적용합니까?
감사합니다.
아마도 'testField'의 기능에 따라 달라질 수 있습니다. 예를 들어 사용자 입력을 기다리는 경우 영원히 멈추게됩니다 ... –