쉘 스크립트 파일 액세스

모리츠 한

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. 스크립트 행을 단계별로 실행하여 쉘 프롬프트에서 각 행을 입력하면 동일한 오류가 표시됩니까? 그렇다면 어느 줄 뒤에 있습니까?

그 외에도 스크립트에 수정해야하는 여러 품질 문제가 있으며, 그 결과 디버그 또는 예측이 더 쉬워 질 수 있습니다.

  1. shebang을 사용하십시오. 컴퓨터에는 여러 개의 쉘 인터프리터가 있으며 스크립트를 작성할 때 스크립트를 해석 할 하나를 지정하는 것이 가장 좋습니다. #!/bin/sh스크립트의 첫 번째 줄과 같은 줄을 추가합니다 .
  2. 변수와 특수 문자를 인용하십시오. 예를 들어 대괄호는 " 패턴 일치 "의 일부로 사용됩니다 . 문자열이 문자 그대로 사용되는지 확인하려면 리터럴 (작은) 따옴표를 사용하십시오.echo '[objects]' > temp.prj
  3. 성공 여부를 테스트하십시오. 스크립트의 단계가 실패하면 스크립트는 실패 할 것이 보장 되더라도 끝까지 맹목적으로 명령을 계속 실행합니다. set -e이것의 간단한 버전을 위해 스크립트 상단 근처에 추가하십시오 .
  4. 어리석은 권한을 사용하지 마십시오. 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AIX 쉘 스크립트 컴파일러

분류에서Dev

쉘 스크립트로 파일 편집

분류에서Dev

쉘 스크립트의 구성 파일?

분류에서Dev

쉘 스크립트에서 파일 디스크립터 몰려

분류에서Dev

2 주 동안 액세스하지 않은 파일 제거시 쉘 스크립트

분류에서Dev

C 파일을 컴파일하는 쉘 스크립트

분류에서Dev

텍스트 파일 쉘 스크립트의 루프

분류에서Dev

쉘 스크립트에서 텍스트 파일 구문 분석

분류에서Dev

텍스트 파일 쉘 스크립트에서 "빈"줄 제거

분류에서Dev

쉘 스크립트를 사용하여 파일 크기 추가

분류에서Dev

txt 파일에 파워 쉘 스크립트 출력

분류에서Dev

쉘 스크립트에서 블루투스 파일 전송

분류에서Dev

쉘 스크립트 파일에서 mutt로 메일 보내기

분류에서Dev

FreeBSD : 쉘 스크립트로 도트 파일 백업

분류에서Dev

쉘 스크립트에서 파일 생성

분류에서Dev

설정 파일에 쉘 스크립트에서 변수 전달

분류에서Dev

쉘 스크립트를 통해 tsx 파일의 내용 변경

분류에서Dev

쉘 스크립트로 파일에 기록을 쓰는 방법

분류에서Dev

쉘 스크립트, 시차 찾기 및 파일 순회

분류에서Dev

파일 범위를 읽는 쉘 스크립트?

분류에서Dev

쉘 스크립트-표준 입력 대 파일 읽기

분류에서Dev

쉘 스크립트 : 파일 경로에서 콜론 대체

분류에서Dev

SSH 구성 파일 + 쉘 스크립트 도움말

분류에서Dev

쉘 스크립트를 사용하여 엑셀 파일 생성

분류에서Dev

Automator : 폴더의 파일에 대한 쉘 스크립트

분류에서Dev

쉘 스크립트가 파일을 찾지 못함

분류에서Dev

쉘 스크립트 : sdterr 및 sdtout을 파일에 작성

분류에서Dev

쉘 스크립트 오류 및 파일 쓰기 방법

분류에서Dev

Applescript 쉘 스크립트가 파일에 쓸 수 없습니까?

Related 관련 기사

  1. 1

    AIX 쉘 스크립트 컴파일러

  2. 2

    쉘 스크립트로 파일 편집

  3. 3

    쉘 스크립트의 구성 파일?

  4. 4

    쉘 스크립트에서 파일 디스크립터 몰려

  5. 5

    2 주 동안 액세스하지 않은 파일 제거시 쉘 스크립트

  6. 6

    C 파일을 컴파일하는 쉘 스크립트

  7. 7

    텍스트 파일 쉘 스크립트의 루프

  8. 8

    쉘 스크립트에서 텍스트 파일 구문 분석

  9. 9

    텍스트 파일 쉘 스크립트에서 "빈"줄 제거

  10. 10

    쉘 스크립트를 사용하여 파일 크기 추가

  11. 11

    txt 파일에 파워 쉘 스크립트 출력

  12. 12

    쉘 스크립트에서 블루투스 파일 전송

  13. 13

    쉘 스크립트 파일에서 mutt로 메일 보내기

  14. 14

    FreeBSD : 쉘 스크립트로 도트 파일 백업

  15. 15

    쉘 스크립트에서 파일 생성

  16. 16

    설정 파일에 쉘 스크립트에서 변수 전달

  17. 17

    쉘 스크립트를 통해 tsx 파일의 내용 변경

  18. 18

    쉘 스크립트로 파일에 기록을 쓰는 방법

  19. 19

    쉘 스크립트, 시차 찾기 및 파일 순회

  20. 20

    파일 범위를 읽는 쉘 스크립트?

  21. 21

    쉘 스크립트-표준 입력 대 파일 읽기

  22. 22

    쉘 스크립트 : 파일 경로에서 콜론 대체

  23. 23

    SSH 구성 파일 + 쉘 스크립트 도움말

  24. 24

    쉘 스크립트를 사용하여 엑셀 파일 생성

  25. 25

    Automator : 폴더의 파일에 대한 쉘 스크립트

  26. 26

    쉘 스크립트가 파일을 찾지 못함

  27. 27

    쉘 스크립트 : sdterr 및 sdtout을 파일에 작성

  28. 28

    쉘 스크립트 오류 및 파일 쓰기 방법

  29. 29

    Applescript 쉘 스크립트가 파일에 쓸 수 없습니까?

뜨겁다태그

보관