나는이 여러 시도했다 말할 수있는 방법이 있는지 궁금 'chmod를 다음 파일의 권한을 변경하지 않는 경우 ...'은 알아 내려고
if ! chmod ${1} ${2} #if chmod did not excecute correctly
then
echo "${0}:ERROR: ${2} has not been changed." 1>&2
exit 6 #exiting due to failure. status 6
fi
임 다른 방법하지만 난 단지 내가 변경 -rwxr-XR-X로 시작하는 경우
즉 그것은 다른아무것도 -rwxrwxrwx 없습니다 ... 현재 설정에 추가보다는 변경할 수있는 것은
을 작동하는 것 같다
@EricLeschinski는 참조로 ABS를 제안하지 마십시오 - 그것은 오래된 제안과 나쁜 사례 예제의 전체 배쉬의 W3 스쿨,입니다. bash-hackers wiki는 훨씬 더 평판 좋은 소스입니다. 종료 상태 페이지는 [here] (http://wiki.bash-hackers.org/dict/terms/exit_status)입니다. 마찬가지로 [BashGuide의 테스트 및 조건부] 섹션 (http://mywiki.wooledge.org/BashGuide/TestsAndConditionals)은 종료 상태를 자세히 설명합니다. –
'$ {1}'에 무엇이 들어 있습니까? 여기의 문제는 당신이'chmod'를 먹고있는 것일 수 있습니다. 아마 그것은 당신이 기대하는대로 행동하지 않는 유효한 명령 일 것입니다. :) – ghoti
"올바르게 실행하지 못했습니다"또는 "실패했습니다"는 의미는 무엇입니까? 권한이 이미 원하는 경우 권한이 실패 했습니까? 운영 체제의 시스템 호출이 성공하면 (요청 된 변경을 성공적으로 수행했다는 것을 파일 시스템이보고했음을 의미 함) 기본 파일 시스템이 원하는 권한을 나타낼 수 없으며 (따라서 읽기를 다시 수행하는 방식으로 변경 사항을 구현합니다 당신이 지정한 것과는 다른), 실패로 간주합니까? 시나리오가 무엇인지에 대해 매우 구체적으로 설명하십시오. 일반적으로'chmod'는 이미 실패를보고합니다. –