Mac에 쉘 스크립트를 작성했습니다. 다음 코드 :
echo [objects] > temp.prj
echo $1.obj >> temp.prj
chmod 777 temp.prj
wla-65816 -o $1.asm $1.obj
wlalink -vr temp.prj $1.fig
rm $1.obj
rm temp.prj
문제는 프로그램 wlalink가 나에게 오류 메시지를 제공한다는 것입니다.
LOAD_FILES : "temp.prj"파일을 열 수 없습니다.
일부 권리에 문제가있는 것 같습니다. 스크립트가 파일을 만들고 있으며 파일에 올바른 내용이 있습니다. sudo를 실행하는 것과 동일합니다.
어떤 아이디어?
설명하신 오류는 셸이 생성하는 것처럼 들리지 않지만 문제의 파일 을 로드 하는 것으로 보이는 유일한 도구 는 wlalink
. 스크립트 행을 단계별로 실행하여 쉘 프롬프트에서 각 행을 입력하면 동일한 오류가 표시됩니까? 그렇다면 어느 줄 뒤에 있습니까?
그 외에도 스크립트에 수정해야하는 여러 품질 문제가 있으며, 그 결과 디버그 또는 예측이 더 쉬워 질 수 있습니다.
#!/bin/sh
스크립트의 첫 번째 줄과 같은 줄을 추가합니다 .echo '[objects]' > temp.prj
set -e
이것의 간단한 버전을 위해 스크립트 상단 근처에 추가하십시오 .chmod 777
세계에서 파일을 읽고, 쓰고, 실행할 수 있음을 의미합니다. 이것은 실행 파일이 아닙니다. 그리고 확실히 쓸 수있는 세계 일 필요는 없습니다. 필요한 것을 생각하고 파일 권한을 그 이상으로 설정하지 마십시오.정리 후, 특히 기본적인 오류 처리를 사용하면 디버깅이 더 쉬울 것입니다.
#!/bin/sh
if [ -z "$1" ]; then
echo "ERROR: I need an option." >&2
exit 1
fi
# Debugging
set -e # stop on error
set -x # display our commands
echo "[objects]" > temp.prj
echo "$1.obj" >> temp.prj
chmod 640 temp.prj
wla-65816 -o "$1.asm" "$1.obj"
wlalink -vr temp.prj "$1.fig"
rm -f "$1.obj" temp.prj
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다