이것은 가장 중요한 질문 중 하나입니다. 스크립트를 효과적으로 작성하는 방법은 무엇입니까? 나쁜 방법은 무엇이고 좋은 방법은 무엇입니까? 나는 몇 가지를 알고 있으며 여기서 지적하겠습니다. 혹시 다른 내용을 아시는 분 계시면 댓글 남겨주세요. 이 질문은 사용 가능한 모범 사례를 이해하기 위해 요청됩니다. 모든 것을 Google로 검색하는 것은 매우 어렵고 모든 것이 항상 같은 위치에 표시되는 것은 아닙니다. 그러므로 이 질문은 경험이 있는 모든 사람들에게 주어졌습니다. 나는 이런 것들을 스스로 배우려고 노력하고 있습니다. 따라서 여기에 제공하는 모든 의견/답변은 저와 저 같은 사람들에게 매우 도움이 될 것이라고 생각합니다. 미리 감사드립니다.
답변1
1. 디렉토리 트리를 별도로 정의할 필요가 없습니다.
잘못된 접근 방식:
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $
좋은 생각:
~ $ mkdir -p tmp/a/b/c
2. 아카이브:
가끔 사람들이 a.tar와 같은 tar를 아카이브를 추출하려는 다른 디렉토리로 옮기는 것을 봅니다. 그러나 이 목적을 위해 디렉토리를 지정하기 위해 여기에서 -C 옵션을 사용할 수 있으므로 이것이 필요하지 않습니다.
~ $ tar xvf -C tmp/a/b/c newarc.tar.gz
3. 제어 연산자의 중요성:
두 개의 명령이 있지만 두 번째 명령은 첫 번째 명령이 실행될 때만 실행되어야 하며, 그렇지 않으면 두 번째 명령이 실행되지 않는다고 가정합니다. 따라서 여기의 명령은 다른 명령이 0 종료 상태를 반환하는 경우에만 실행되어야 합니다.
예:
~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
위의 예에서 아카이브의 내용은 디렉토리:c에서 추출되어야 하지만 해당 디렉토리가 존재하는 경우에만 가능합니다. 디렉토리가 존재하지 않으면 tar 명령이 실행되지 않고 아무것도 추출되지 않습니다.