ΡΠΊΡΠΈΠΏΡ bash hello world
Write a simple script and learn the basics of the Bash shell for Linux
Most Linux distributions ship the Bourne Again Shellβusually just called Bashβby default. Even the Windows Subsystem for Linux supports Bash.
What Is Bash?
A shell is a command-line interpreter. It’s intended to work in a text-only mode and support interactive commands and scripts. Linux offers several different shells. Bash is common and well-known, but others include ASH, CSH, KSH, and ZSH.
How Do I Write a Bash Script?
The most straightforward way to develop simple Bash scripts is to work from the shell. Most Linux distributions include a graphical user interface, but some don’tβincluding WSL and any server-based installation you access remotely.
To access the shell (sometimes called the command line interface or the terminal window), run it from the Window Manager main menu.
Most modern Linux distributions support the Ctrl+Alt+T hotkey to launch a shell window within the GUI.
You need two things to write a Bash script:
Vi isn’t the most intuitive text editor, but it’s almost always present by default.
Create the ‘Hello World’ Script in Bash
To create a «Hello World» script, invoke your text editor from the shell prompt:
Input the following lines of text:
Then, save the file. It saves to your home directory.
This simple script offers two lines. The first tells Linux that you developed a Bash script (meaning that what follows is a script and that Bash is the correct interpreter to execute it). The second line gives a commandβit echoes the text hello world to the console window.
If you’ve never worked in Vi before, you need to do two things. First, after the editor loads, press I to enter Insert mode. Then type your text. Don’t worry about all the tildes on the screen; they just indicate blank lines. When you’re done editing, press Esc to exit Insert mode and enter Command mode. When you’re in Command mode, press :wq to save the file and exit the editor.
Run the ‘Hello World’ Script in Bash
To run your script, execute the following command:
and you’ll see hello world printed below the shell prompt.
Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Bash Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π§Π°ΡΡΡ 1
ΠΡΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Bash. ΠΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ!
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Bash/Shell/Scripting
Π‘ΠΊΡΠΈΠΏΡΠΈΠ½Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π±Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ΄Π½Π° Π·Π° Π΄ΡΡΠ³ΠΎΠΉ.
ΠΡΠ½ΠΎΠ²Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Bash
ΠΠ΅ ΠΎΡΡΠ°ΠΈΠ²Π°ΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ½ΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ. ΠΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π²Π΅Π΄Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΡΠΈΡΠ°Π΅ΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π»ΠΈ, Bash Scripting ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ Π½Π°Π²ΡΠΊΠΎΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² Linux ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΡΡΠΎΠ³ΠΎ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ ΡΠΈΠ΄ΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ, ΠΎΡΠΊΡΡΠ»ΠΈ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ Π·Π°Π΄Π°Π΅ΡΠ΅ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: «Π§ΡΠΎ ΠΆΠ΅ ΠΌΠ½Π΅ Π΄Π΅Π»Π°ΡΡ Ρ ΡΡΠΎΠΉ ΡΡΡΠΊΠΎΠΉ?».
Π’Π°ΠΊ Π²ΠΎΡ, Π² ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ shell, Π° shell ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΠΎ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ date, cal, pwd ΠΈΠ»ΠΈ ls, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ENTER.
ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠΎ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ (date), ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ (cal), ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (pwd) ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½Π΅ΠΌ (ls).
*Ρ Π½Π°Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ls Π½Π΅ Π΄Π°Π»Π° Π²ΡΠ²ΠΎΠ΄Π°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³ (ΡΡΠ΅Π½Π°ΡΠΈΠΈ Bash)
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Ρ Π½ΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ task.sh Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² Π»ΡΠ±ΠΎΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°Π΄Π°Π½ΠΈΠΉ cron ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΡΠΆΠ΅ Π΄ΡΡΠ³Π°Ρ ΠΈΡΡΠΎΡΠΈΡ, Π° ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Bash
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Korn shell, C shell ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ Π½Π°ΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ #!/bin/bash.
ΠΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°Π»Π΅Π΅ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ shell ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ chmod +x FILENAME. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΡΡΠΈΠΊΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°.
Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ GNU/Linux ΠΊΠΎΠΌΠ°Π½Π΄Π° file ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΉ Π²Π΅Ρ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠΌΡ shell-ΡΡΠ΅Π½Π°ΡΠΈΡ 0_xyz Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, Π½ΠΎ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Bash
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ bash, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ ΠΊ ΡΠ°ΠΉΠ»Ρ.
Π ΡΡΠ°ΡΡΡΡ, Π² GNU/Linux Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠΏΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pwd. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π°ΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd ΠΈ pwd Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ GNU/Linux Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ.
ΠΡΡΡΡΡΠΉ ΡΠΎΠ²Π΅Ρ:
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π». Π§Π°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π·Π°Π΄Π°ΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², Π° ΡΠΆΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ ΡΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π΄Π°ΠΆΠ΅ Π²Π·ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, bash ΡΠΊΡΠΈΠΏΡΡ Ρ Π½ΡΠ»Ρ.
ΠΡΠ½ΠΎΠ²Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Bash:
!/bin/bash
echo «Hello world»
Π£ΡΠΈΠ»ΠΈΡΠ° echo Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π΅ΠΉ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΡΠΎΠ±Π°Ρ, ΠΎΠ½Π° Π·Π°Π΄Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° python:
!/usr/bin/env python
print(«Hello world»)
!/usr/bin/env php
echo «Hello world»;
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΡΠΌΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π² Π΄Π²ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΡΠΎΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΡΡΠΈΠ»ΠΈΡΡ env Π½Π°ΠΉΡΠΈ Π΅Π΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ . ΠΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅. Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, ΡΡΠΎΠ±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ³Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ, Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΡΠ°ΠΉΠ» Ρ Π½ΠΈΠΌ ΡΠ»Π°Π³ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ.
ΠΡΠΎΡ ΡΠ»Π°Π³ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΡΠ·Π½Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ. ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½, Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ bash, Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎ ΡΠ²Π½ΠΎ.
chmod ugo+x ΡΠ°ΠΉΠ»_ΡΠΊΡΠΈΠΏΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π½Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΊΡΠΈΠΏΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠΌ Π·Π°Π΄Π°ΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΊΠ»Ρ. ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Bash. ΠΡΠ°Π²Π΄Π°, ΡΡΡ Π²ΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° Bash ΡΠ΅Π΄ΠΊΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° Π·Π½Π°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΡΠΎΠΆΠ΅.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ ΡΠ°Π½ΡΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊ Π²ΠΎΡ, ΡΡΠΎ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ½ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ string:
ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ:
Bash Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΡΠ·ΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π‘++, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΡΡΠΎΠΊΡ. ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΡΡΠΎΠΊ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΠ΄:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΊ Ρ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΠΊΠ°Π²ΡΡΠΊΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ Π΅ΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅Ρ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈΡΠΌΠΎΡΡΠΈΡΠ΅ΡΡ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΡΠΎΠΊ, Π·Π΄Π΅ΡΡ ΡΠΎΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»Ρ ΠΊΠ°Π²ΡΡΠ΅ΠΊ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π±Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ, Π΅ΡΠ»ΠΈ Π±Ρ Π² Π½ΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
$( ΠΊΠΎΠΌΠ°Π½Π΄Π° )
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ ΠΏΡΡΠΌΠΎ ΡΡΠ΄Π°, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½Π° Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π°, Π° Π½Π΅ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΈΠ»ΠΈΡΠ° date Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ:
ΠΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅? ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ hello world ΠΈ Π΄Π°ΡΠ°:
string1=»hello world »
string2=$(date)
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡ, Π½ΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅. ΠΠ°Π»ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bash, ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π½Π° Ρ ΠΎΠ΄Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΠΈΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ².
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 1 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ 2, Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠΎΡ bash ΡΠΊΡΠΈΠΏΡ Π²ΡΠ²Π΅Π΄Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bash ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΡΠΎΡΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π½ΠΈΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ-ΡΠ°ΠΊΠΈ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ΅ΠΌΠ°, Π½ΠΎ ΠΎΠ½Π° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡ.
Π Bash Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΅Π΅ ΡΠ°ΠΊΠΎΠΉ:
if ΠΊΠΎΠΌΠ°Π½Π΄Π°_ΡΡΠ»ΠΎΠ²ΠΈΠ΅
then
ΠΊΠΎΠΌΠ°Π½Π΄Π°
else
ΠΊΠΎΠΌΠ°Π½Π΄Π°
fi
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ 0 (ΡΡΠΏΠ΅Ρ ) ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° then, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ 1 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ else, fi ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΠΌ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π½Π΅ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΈ ΡΠΈΡΠ΅Π», ΡΠΎ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° [[, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π°Π²ΠΈΡΡΡΠΈΠΉ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. ΠΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
[[ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ1 ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ2 ]]
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡ Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π°ΠΏΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΡΠΎΠΌ. Π ΠΏΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΈΠΊΠ»Π°ΠΌ.
Π¦ΠΈΠΊΠ»Ρ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ΅ΠΊ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° bash, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΡΠ΅ΠΊ, Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΡΠ°ΠΌΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΊΠ» for. ΠΠΎΡ Π΅Π³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
for ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ in ΡΠΏΠΈΡΠΎΠΊ
do
ΠΊΠΎΠΌΠ°Π½Π΄Π°
done
ΠΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ do ΠΈ done.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π±Π΅ΡΠ΅ΠΌ ΠΏΡΡΡ ΡΠΈΡΡ:
ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π°, Π½ΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ bash ΡΠΊΡΠΈΠΏΡΠ°.
while ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅
do
ΠΊΠΎΠΌΠ°Π½Π΄Π°
done
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° let ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ.
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π΅ΡΠ΅ ΠΊΠΎΠ΅-ΡΡΠΎ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ while, for, if ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ ΡΡΠ°Π²ΡΡΠ΅ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ «;». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΏΡΡΠ°Π»ΡΡ Π½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ ΡΡΠ°ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ bash, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ gui Π΄Π»Ρ bash ΡΠΊΡΠΈΠΏΡΠ°, ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ zenity ΠΈΠ»ΠΈ kdialog, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Ρ Π½Π΅Π³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΡΠ²ΠΎΠ΄Ρ
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π² linux ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΡΠΊΡΠΈΠΏΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π― ΠΏΡΡΠ°Π»ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ bash ΡΠΊΡΠΈΠΏΡΡ Ρ Π½ΡΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ Π΅ΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ.
Bash Getting started with Bash Hello World
Example
Interactive Shell
The Bash shell is commonly used interactively: It lets you enter and edit commands, then executes them when you press the Return key. Many Unix-based and Unix-like operating systems use Bash as their default shell (notably Linux and macOS). The terminal automatically enters an interactive Bash shell process on startup.
Output Hello World by typing the following:
Notes
echo is a Bash builtin command that writes the arguments it receives to the standard output. It appends a newline to the output, by default.
Non-Interactive Shell
The Bash shell can also be run non-interactively from a script, making the shell require no human interaction. Interactive behavior and scripted behavior should be identical β an important design consideration of Unix V7 Bourne shell and transitively Bash. Therefore anything that can be done at the command line can be put in a script file for reuse.
Follow these steps to create a Hello World script:
Create a new file called hello-world.sh
Make the script executable by running chmod +x hello-world.sh
E.g. /bin/bash hello-world.sh
Line 2: Uses the echo command to write Hello World to the standard output.
Execute the hello-world.sh script from the command line using one of the following:
Common mistakes include:
Editing the script on Windows, which produces incorrect line ending characters that Bash cannot handle.
A common symptom is : command not found where the carriage return has forced the cursor to the beginning of line, overwriting the text before the colon in the error message.
The script can be fixed using the dos2unix program.
An example use: dos2unix hello-world.sh
dos2unix edits the file inline.
Anyway, simply relying on the script’s shebang line is vastly preferable to explicitly writing bash or sh (or python or perl or awk or ruby or. ) before each script’s file name.
1 Also referred to as sha-bang, hashbang, pound-bang, hash-pling.
Π‘ΠΊΡΠΈΠΏΡ bash hello world
ΠΠ²ΡΠΎΡ: ΠΡΠ·Π½Π΅ΡΠΎΠ² ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½
ΠΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΡ Π² Linux (ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ )
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
2. ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠ·ΡΠΊΠ΅ BASH (ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Ρ Π°Π½Π³Π».)
3. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ
ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΈΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΡΠΎΠ²Π½Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ»Ρ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΊΡΠΈΠΏΡΡ
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ linux-ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΡ
ΠΈ ΡΠ΅Ρ
ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ. ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ.
ΠΠΎ-Π²ΡΠΎΡΡΡ
, Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ (Π²Π΄ΡΡΠ³) ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 20-1000β¦ ΠΎΠ΄Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΠΠ ΠΠΠΠ ΠΏΡΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΊΡΠΈΠΏΡ
Π‘ΠΊΡΠΈΠΏΡ β Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (ΡΠΈΠΊΠ»Ρ, ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΅), ΡΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Π½Π°ΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΠ΅Π½Π°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ #!, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΌΠΈΡΠ΅ UNIX Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ sha-bang, ΡΠΎ ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ ΡΡΡΠΎΡΠΊΠΈ #!/bin/bash ΠΈΠ»ΠΈ #!/bin/sh, Π° Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠΉΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ Π½ΠΈΠΌ.
ΠΠ°ΠΏΡΡΡΡΠ²ΠΈΠ΅
Π― ΠΠ°ΠΌ ΠΈΡΠΊΡΠ΅Π½Π½Π΅ ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΡΡΡΡ Π»ΠΈ Π½ΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΡΠΊΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ΅. ΠΡΠΎΠΉΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΡΠΊΡΠΈΠΏΡ. ΠΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ΅, ΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ, ΠΏΡΠΎΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Ρ Π½ΡΠ»Ρ.
ΠΠ°ΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ:
- ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ»Π° ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
- Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ backup Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ Π΄Π°Π½Π½ΡΡ
.
- Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΉ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΡΡΠΈΠΊΠΈ Π² ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ (ΡΠΎΡΠ½Π΅Π΅ Π² Π±Π°Π·Ρ mysql)
- Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (Π»ΡΡΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΡ Π½ΠΎΡΡ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ Π»ΠΎΠ³ΠΈ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ web-ΠΎΡΡΠ΅Ρ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΊΠ°ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°.
- ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π½Π°ΠΌ Π½Π° ΠΏΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ» Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠΎ ssh, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π°Π΄ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
Π ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠ°Π²Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ, ΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ, ΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΠΈβ¦
ΠΠΎΠ³Π΄Π° Π²ΡΠ΅ Π²ΡΠ»ΠΈΠ·Π°Π½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΡΠ°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ Π»ΠΈΠ±ΠΎ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
2. ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠ·ΡΠΊΠ΅ BASH
ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»: https://www.linuxconfig.org/Bash_scripting_Tutorial
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°Π½ΠΈΠΉ ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² (Π΄Π°Π»Π΅Π΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²) Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ·ΡΠΊΠ° Bash. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ Π² ΡΠΊΠΎΡΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ°. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Π½Π°ΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ Β«Hello World!Β» (Π² ΠΏΠ΅ΡΠ΅Π². Ρ Π°Π½Π³Π». β ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!)
1. Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Β«ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅ΡΒ»
ΠΠΎΡ Π²Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ bash-ΡΠΊΡΠΈΠΏΡΠ°:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π½Π°Ρ ΡΠ°ΠΉΠ» hello_world.sh ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ:
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
2. ΠΡΠΎΡΡΠΎΠΉ Π°ΡΡ ΠΈΠ²ΠΈΡΡΡΡΠΈΠΉ bash-ΡΠΊΡΠΈΠΏΡ
3. Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ echo
ΠΠ°Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ:
3.1 ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
4. ΠΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΡΠΊΡΠΈΠΏΡ
5. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ²Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π° Π½Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
6. Π§ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ (ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ)
7. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ²ΡΡΠΊΠΈ
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Ctrl-C Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°.
8. ΠΠ°ΡΡΠΈΠ²Ρ
8.1 ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²
8.2 ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
9. Π£ΡΠ»ΠΎΠ²ΠΈΡ Β«Π΅ΡΠ»ΠΈ-ΡΠΎ-ΠΈΠ½Π°ΡΠ΅Β»
9.1. ΠΡΠΎΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«Π΅ΡΠ»ΠΈ-ΠΈΠ½Π°ΡΠ΅Β» ΡΡΠ»ΠΎΠ²ΠΈΠΉ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π΅Π»Ρ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
9.2 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Β«Π΅ΡΠ»ΠΈ-ΠΈΠ½Π°ΡΠ΅Β» ΡΡΠ»ΠΎΠ²ΠΈΡ
echo Β«You have chosen word: BashΒ»
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Β«whileΒ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Ρ.ΠΊ. ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ choice ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π²Π½Π° ΡΠ΅ΡΡΡΠ΅ΠΌ. ΠΠΎΡΠΎΠΌ ΡΠΈΡΠ°Π΅ΠΌ Π² Π½Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΈ Π΅ΡΠ»ΠΈ Π²Π²ΠΎΠ΄ Π½Π΅ ΡΠ°Π²Π΅Π½ 1,2 ΠΈΠ»ΠΈ 3 ΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ Π½Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ½ΠΎΠ²Π° ΡΠ°Π²Π½ΡΡ 4, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ (ΡΠ½ΠΎΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ 1,2 ΠΈΠ»ΠΈ 3).
10. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΡ
10.1 ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
10.2 Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎ-ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
11. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²
12. Π¦ΠΈΠΊΠ»Ρ
12.1. Π¦ΠΈΠΊΠ» For
ΠΠ°ΠΏΡΡΠΊ for-ΡΠΈΠΊΠ»Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ bash:
12.4. Π¦ΠΈΠΊΠ»Ρ Ρ Π½Π΅ΡΠ²Π½ΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ while-ΡΠΈΠΊΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.
Π’Π΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΠΊΠ° Π΅ΡΡΡ ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ read.