쉘 스크립팅의 첫 단계

여러분 대부분은 모르시겠지만 저는 지금까지 거의 1년 동안 충실한 Linux 사용자였으며 Linux를 좋아하고 생산성을 유지하는 데 도움이 되며 항상 오픈 소스 애호가였습니다.
또한 저는 거의 매주 컴퓨터를 포맷하는 건강에 좋지 않은 습관이 있습니다. Windows에서는 고통스러운 일이었지만 Linux에서는 필요한 모든 작업을 수행하는 스크립트를 작성할 수 있습니다. 그렇게 자주 PC에 그렇게 하는 것은 권장하지 않지만 어쩔 수 없습니다. 그래서 매주 몇 시간을 절약하겠다는 목표로 글을 쓰기 시작했습니다. 이 게시물에서는 제가 공부 첫 주에 배운 내용을 설명하겠습니다.

추신: 저는 자바스크립트만 알고 프로그래밍에 대한 첫 경험은 모두 자바스크립트였기 때문에 JS가 참고가 될 것입니다.

1. 간격과 인용이 매우 중요합니다.



나는 때때로 조건문에서 괄호 사이의 간격이 중요하다는 것을 발견하고 bash가 공백이 있는 내 문자열을 하나로 읽도록 예상보다 훨씬 더 많이 인용해야 한다는 사실을 발견했을 때 매우 놀랐습니다. 예를 들면 다음과 같습니다.

array=(
  item0
  "item 1"
)

for each in ${array[@]}; do
  echo $each
done


산출:

item0
item
1


그러나 ${array[@]}"${array[@]}"로 변경하면 출력은 다음과 같습니다.

item0
item 1


내 JS 수하물 때문에 예상했을 것입니다.

JavaScript에서는 이와 같은 많은 "코드 형식"을 건너뛸 수 있고, 작업이 끝날 때 세미콜론을 건너뛸 수 있으며, if 문의 괄호 등을 실제로 원하는 대로 간격을 둘 수 있습니다.
this 질문에 대한 답변은 읽고 싶다면 충분히 잘 설명되어 있습니다.
JavaScript의 구문은 bash보다 훨씬 유연합니다.

2. 콘텐츠 격차



우리는 모두 JavaScript가 현재 잘 구축되어 있다는 것을 알고 있으며 이는 튜토리얼에서 Stack Overflow의 질문 및 답변에 이르기까지 해당 언어에 많은 콘텐츠가 있음을 의미합니다.
그것은 처음에는 대단한 것 같고 거의 항상 그렇지만 간단한 질문에 대한 답을 찾기 위해 15분 이상을 낭비하는 것은 드문 일이 아닙니다. 자바스크립트의 것들) 매우 실망스러웠습니다.

대조적으로, bash의 경우 훨씬 적은 콘텐츠를 찾았지만 언어의 객관성 때문에 답을 더 빨리 찾을 수 있었고 내가 연 첫 번째 또는 두 번째 링크에서 내가 찾고 있는 것을 반복적으로 찾았습니다. 이에 대한 좋은 예는 첫 번째 항목에서 링크한 페이지입니다. Google에서 매우 구체적인 용어를 사용하지 않았음에도 불구하고 5분도 채 안 되어 페이지를 찾았습니다.

3. 결론



나는 ShellScript를 작성하는 법을 배우는 데 즐거운 시간을 보냈고 한동안 다른 코드를 작성한 후 활력을 느꼈습니다. 때로는 1~2주 동안의 간단한 변경이 많은 도움이 될 수 있습니다!

읽어 주셔서 감사합니다!



계속해서 저를 찾을 수 있습니다GitHub(제가 이야기한 대본이 있습니다).

이 게시물은 2020-08-26에 작성한 이전 기사를 다시 게시한 것입니다.

좋은 웹페이지 즐겨찾기