TIL (Today I Learned)/Linux

[Linux] shell script

loki d 2021. 8. 23. 13:55
728x90

1. shellscript

์‰˜ ์Šคํฌ๋ฆฝํŠธ๋Š” ์‰˜์—๊ฒŒ ๋ฌด์Šจ ๋ช…๋ น๋“ค์„ ์‹คํ–‰ํ• ์ง€ ์•Œ๋ ค์ฃผ๋Š” ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์ด๋‹ค.

  • bash ์‰˜์„ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ
    #!/bin/bash    
    echo "hello, world"
    printf "hello, world"

    2. #!/bin/sh ์˜๋ฏธ

  • #!/bin/sh ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ bash์‰˜๋กœ ์‹คํ–‰
  • #!/bin/bash ๊ฐ™์€ ์˜๋ฏธ
  • ๋ช…๋ น์–ด ํ•ด์„๊ธฐ๊ฐ€ bash shell์ž„์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ
  • ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ๋Š” ๋ณดํ†ต #!/bin/sh๋ฅผ ์‚ฌ์šฉ
    ls -al /bin/sh
    image

3. shell script๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์Šคํฌ๋ฆฝํŠธ ํ˜•ํƒœ๋กœ ๋ฏธ๋ฆฌ ํ‹€์„ ๋งŒ๋“ค์–ด ๋†“๊ณ  ์‹คํ–‰
  • ์Šค์ผ€์ค„๋ง์„ ๋Œ๋ ค์„œ ํŒŒ์ผ๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ํ• ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์Šคํฌ๋ฆฝํŠธ์˜ ๋‚ด์šฉ์„ ๋ชฐ๋ผ๋„ ๋ˆ„๊ตฌ๋‚˜ ์‹คํ–‰ ๊ฐ€๋Šฅ

    image

.cfg

.cfg ๋˜๋Š” .config ํŒŒ์ผ์€ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ์ž์˜ ์†Œํ”„ํŠธ์›จ์–ด์— ํŠน์ •ํ•œ ์„ค์ •์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ

.dat

.dat ํŒŒ์ผ ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์€ ํŒŒ์ผ์„ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จ๋œ ํŠน์ • ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ

#!/bin/sh
echo "hello World"

4. ๊ฐ„๋‹จํ•œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰

  • $ ./shell.sh์‹คํ–‰ ์‹œ

    image
  • ์‹คํ–‰ ๊ถŒํ•œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ—ˆ๊ฐ€ ๊ฑฐ๋ถ€

    image
  • $ chmod 755 shell.sh ์‹คํ–‰๊ถŒํ•œ์„ ๋ถ€์—ฌ

    image
  • ์‹คํ–‰ ๋ช…๋ น์–ด
    • ./shell.sh
    • sh shell.sh
    • bash shell.sh

      image