재실행 가능하고 구성/변경 사항을 덮어쓰지 않는 쉘 스크립트를 어떻게 찾을 수 있습니까?
그것은 마치배쉬 -x script.sh스크립트를 디버깅하고 스크립트의 각 줄이 성공적으로 실행되었는지 확인하는 데 사용됩니다.
가정한다는 뜻이다스크립트 파일다음 명령이 있습니다.
- 특정 파일에 대한 소프트 링크 만들기
- 일부 구성 파일의 일부 값을 변경합니다.
그렇다면 이러한 스크립트를 반복해서 실행하면 변경 사항이 적용됩니까, 아니면 시스템 구성을 덮어쓰고 변경하게 됩니까? 이러한 일을 어떻게 보장할 수 있습니까?
답변1
스크립트가 자신을 삭제하지 않거나 실행 권한 비트를 변경하지 않는 한 다시 실행할 수 없습니다. 이것이 집행 가능성의 의미입니다. 이것이 x
실행될 때 첫 번째 열에 표시되는 내용 입니다 ls -l
. 설정하면 해당 파일을 (소유자/그룹/사용자별로) 실행할 수 있습니다. 그렇지 않다면 그럴 수 없습니다. 언제든지 통역사를 사용하여 다음과 같은 작업을 수행할 수 있습니다.
bash some_file
그러나 이를 위해 파일이 실행 가능해야 하는 것은 아닙니다.
실행 가능 비트를 사용하면 다음을 통해 스크립트를 호출(실행)할 수 있습니다.
./script.bash
(또는 무엇이라고 부르든).