bash 스크립트에서 dry-run 옵션을 어떻게 구현합니까?
스크립트가 드라이 런으로 실행되는 경우 모든 단일 명령을 if에 래핑하고 명령을 실행하는 대신 에코하는 것을 생각할 수 있습니다.
다른 방법은 함수를 정의한 다음 해당 함수를 통해 각 명령 호출을 전달하는 것입니다.
다음과 같은 것 :
function _run () {
if [[ "$DRY_RUN" ]]; then
echo $@
else
$@
fi
}
`_run mv /tmp/file /tmp/file2`
`DRY_RUN=true _run mv /tmp/file /tmp/file2`
이것이 잘못 되었습니까? 훨씬 더 좋은 방법이 있습니까?
그래, 정확히 bash에 설정할 수있는 내부 변수가 없는지 궁금해서 명령이 함수를 전달하는 대신 실제로 실행되지 않습니다
—
Andrei Serdeliuc
이 질문이 커뮤니티 위키로 표시 될 이유는 없습니다.
—
추후 공지가있을 때까지 일시 중지되었습니다.
배쉬는 껍질입니다. 드라 이런을 할 이유가 없습니다. 나는 당신이 이미 한 것보다 더 좋은 방법이 있다고 생각하지 않습니다.
—
d -_- b
_run()
때로는 'set -xv'와 함께 함수 와 같은 것을 사용 하지만 더 나은 방법을 원합니다.