2024년에 유용할 고급 Shell 스크립팅 명령어 9선

2024년에 유용할 고급 Shell 스크립팅 명령어 9선
UI STATIONPosted On Jun 22, 20246 min read

이미지

안녕하세요! 저는 최근 회사에서 일하는 동안 일반 업무 외에도 쉘 스크립팅을 사용하여 도구를 만들었습니다.

쉘의 구문은 다른 프로그래밍 언어와 비교했을 때 약간 복잡하여 이해하고 구현하기가 조금 어렵지만, 쉘 스크립팅은 자동화를 위한 다양한 용도로 사용됩니다. 쉘 스크립팅을 공부하면서 얻은 지식으로 매우 만족스럽습니다.

다음은 제가 사용하고 코딩하는 동안 도움이 된 일련의 명령어입니다.

  • grep: 쉘 스크립팅에서 사용되는 매우 유용한 명령어로, 파일에서 패턴이나 정규 표현식을 찾아 해당 grep이 제공하는 옵션에 따라 출력을 내용에 맞게 얻을 수 있습니다.
grep [options] pattern filename

일부 옵션은 다음과 같습니다:-

  • c: 이 옵션은 파일에서 패턴을 포함하는 일치하는 행의 수를 세는데 사용됩니다. 예를 들어 grep -c “hello” sample.txt
  • -l: 이 옵션은 해당 패턴을 포함하는 행을 출력합니다. 예를 들어 grep -l “finding” commentsTracker.sh
  • -i: 이 옵션은 대소문자를 구별하지 않고 파일 내에서 검색하므로 해당 단어의 어떤 형태든 검색됩니다.

  1. mailx: 리눅스에서 자동화된 작업에서 메일을 보내는 데 사용됩니다. 우리의 경우에는 특정 시나리오 하에서 mailx를 사용하여 메일을 보내는 것이 상당히 유용했어요.
echo -e "내용" | mailx -s "제목" -r 발신자 수신자1 수신자2

여기서 내용을 우리가 원하는 본문 내용으로, 제목을 이메일 본문의 제목으로 대체할 수 있어요.

mailx를 사용하면 -c를 사용하여 참조 메일 수신자도 추가할 수 있어요.

echo -e "내용" | mailx -s "제목" -r 발신자 -c 참조사용자1,참조사용자2,참조사용자3 수신자1 수신자2

여기서 우리는 참조 사용자 ccuser1, ccuser2, ccuser3과 수신자1 및 수신자2가 메일 수신함에 있을 사용자 세 명을 가지고 있음을 볼 수 있습니다. 이 기능은 매우 흥미로운 것입니다.

  1. ` :- 이 파일에 데이터를 쓰는 데 사용됩니다. 데이터가 이미 존재하는 경우 데이터가 덮어쓰여집니다.

파일이 없으면 파일이 만들어집니다.

echo "Hello Medium" > file.txt

file.txt:- Hello Medium

` :- On the other hand, this appends data to the file instead of overwriting it.

echo "Adding this text" >> file.txt

아래 내용을 Markdown 형식으로 변경해보세요.

파일.txt: - 안녕하세요 Medium. 이 텍스트를 추가합니다.

  1. **: - *검색할 문자열을 사용할 수 있습니다.*

예: search_string = "어디에 있나요"

예를 들어, 변수인 description에 정확한 문자열 search_string1을 포함하는 문자열에서 이 연산자를 사용하여 문자열을 검색할 수 있습니다. 정확히 동일한 문자열을 검색하므로 공백도 문제가 될 수 있습니다.

if [[ $description == *"$search_string1"* ]]; then
      echo "description에 search_string1이 있습니다."
  1. =~:- =~를 사용하여 지정된 문자열에서 부분 문자열을 일치시킬 수 있고, 해당 문자열에 부분 문자열이 있는지 확인할 수 있습니다.
if [[ $variable =~ YES|Yes|Y ]]; then
  echo "변수에 YES 또는 Yes 또는 Y 부분 문자열이 포함되어 있습니다."

여기 지정된 문자열을 검색할 때 사용자에게 정말 편리합니다.

  1. Export:- 이 명령은 변수를 내보내어 후속 프로세스가 나중에 액세스할 수 있도록 하는 데 사용됩니다.
export BATCH_DATE="29042001"

예를 들어 셸 스크립트에서 BATCH_DATE를 내보내고 나중에이 셸 스크립트가 호출한 파일 내에서 액세스합니다.

echo $BATCH_DATE

일반적으로 코드 내에서 변수 condition을 내보내고 사용하고 싶을 때 사용됩니다.

이 글에서 무언가를 얻었다면 좋아요와 댓글 부탁드립니다. 이는 제가 더 많은 유용한 글을 작성할 자극이 됩니다.

LinkedIn에서 저와 연결하고 팔로우해주세요: https://www.linkedin.com/in/devendu-negi-142b6618b/

제 YouTube 채널을 한 번 둘러보시는 것을 고려해 주시면 좋겠어요! 저는 힌디어로 콘텐츠를 올리고 있으며 일상 명언의 짧은 영상도 함께 제작하고 있어요.

https://www.youtube.com/channel/UCaGvN7VhqTRa9sCHxcgJ-Pw

누군가가 DSA에 대해 1대1로 안내를 받고 싶다면 topmate에서 저와 연락할 수 있어요: https://topmate.io/devendu_negi/

커피 한 잔 사주시면 감사하겠어요! https://buymeacoffee.com/devendunegi

만약 내 다른 글들이 당신의 소프트웨어 엔지니어링 여정에 가치를 더했다면, 더 많은 글을 보기 위해 내 계정을 팔로우해보세요.

코딩을 즐기며, 당신의 목표를 이루길 바라요 :)