![sh fun.sh: 해당 파일이나 디렉터리가 없습니다. gcc: 치명적인 오류: 입력 파일이 없습니다.](https://linux55.com/image/209360/sh%20fun.sh%3A%20%ED%95%B4%EB%8B%B9%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%82%98%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.%20gcc%3A%20%EC%B9%98%EB%AA%85%EC%A0%81%EC%9D%B8%20%EC%98%A4%EB%A5%98%3A%20%EC%9E%85%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음 명령이 포함된 셸 파일을 동적으로 생성하고 있습니다.
#!/bin/sh
gcc -Wall -c *.c
gcc -shared -o libr.so *.o
해당 위치로 CD를 이동하고 이 명령을 사용하여 쉘 스크립트를 실행하면 sh fun.sh
다음 오류가 발생합니다.
sh fun.sh : No such file or directory
gcc: fatal error: no input files
compilation terminated.
Linux에서는 이러한 명령을 하나씩 입력하면 작동하지만 쉘 스크립트에서는 작동하지 않습니다. 이 문제를 해결하도록 도와주세요
답변1
나는 내가 실수했다는 것을 안다. 나는 즉시 이 쉘 스크립트를 작성하고 있습니다. 저는 템플릿 script.sh를 생성하고 셸 스크립트의 내용을 동적으로 추가하는 프로세스를 자동화하는 MATLAB 함수를 생성했습니다. 제가 저지른 실수는 Windows에서 템플릿 스크립트를 만들어 웹에 업로드했다는 것입니다. 이 쉘 스크립트는 Linux에서 생성했지만 템플릿 스크립트는 Windows에서 작성되었습니다. dos2inux를 하면 작동합니다. 이제 Linux에서 템플릿 파일을 작성하고 스크립트를 생성하면 제대로 작동합니다. 답변해 주셔서 감사합니다.