πŸ“œ Как Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ скрипт bash ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ скрипта

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт Π² скриптС

by itisgood
Π’ ΠΌΠΈΡ€Π΅ Unix ΠΈ Linux shell-сцСнарии – это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡, управлСния систСмами ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.
Часто ΠΌΡ‹ сталкиваСмся с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ shell-скрипт ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.
Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТныС сцСнарии Π² управляСмыС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, Π½ΠΎ ΠΈ способствуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ.

Π—Π°Ρ‡Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ скрипт ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ скрипта?

  • ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ слоТных скриптов Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅, управляСмыС.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования: ИспользованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ скрипта Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптах Π±Π΅Π· пСрСписывания ΠΊΠΎΠ΄Π°.
  • ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ: Π‘ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ΅ обслуТиваниС ΠΈ удобство чтСния.

Основной ΠΌΠ΅Ρ‚ΠΎΠ΄

Π‘Π°ΠΌΡ‹ΠΉ простой способ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ скрипт ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ скрипта – это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ скриптС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° сцСнария: script1.sh ΠΈ script2.sh.

script1.sh:


#!/bin/bash
echo "This is Script 1"

script2.sh:


#!/bin/bash
echo "Calling Script 1 from Script 2"
./script1.sh
echo "Script 1 has finished execution"

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС script2.sh ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π² script1.sh строку “Hello from Script 2”, которая принимаСтся ΠΊΠ°ΠΊ $1 (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚) Π² script1.sh.

ИспользованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Source

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ – использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ source ΠΈΠ»ΠΈ Π΅Π΅ сокращСния ..

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ выполняСт Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ скрипт Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ измСнСния, сдСланныС Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ скриптом, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ скриптС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:script1.sh:


#!/bin/bash
MESSAGE="Message from Script 1"

script2.sh:


#!/bin/bash
source ./script1.sh
echo $MESSAGE

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ script2.sh Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ “Message from Script 1”, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ сохраняСт измСнСния окруТСния, сдСланныС script1.sh.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹Π·ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ скрипта ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ – это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π² написании скриптов.

Он ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, удобство ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ сцСнария.

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ систСмным администратором, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ просто Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΌ Linux, Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ этой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹.

см. Ρ‚Π°ΠΊΠΆΠ΅:

 

You may also like

Leave a Comment