ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΡΠ΅Π»Π»Π° Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ bash.
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ Π½Π° bash
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ ΠΎ Π΄Π²ΡΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ bash, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ read Ρ ΡΠΈΠΊΠ»ΠΎΠΌ while
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cat Ρ ΡΠΈΠΊΠ»ΠΎΠΌ while
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ LHB.txt, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
1. Ubuntu
2. Arch
3. openSUSE
4. Fedora
5. Slackware
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ read Ρ ΡΠΈΠΊΠ»ΠΎΠΌ while
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°, Π·Π΄Π΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ read Ρ ΡΠΈΠΊΠ»ΠΎΠΌ while (ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ°).
Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
nano read.sh
Π Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
#!/bin/bash
file="LHB.txt"
while read -r line; do
echo -e "$line\n"
done <$file
ΠΠΎΡ,
- file=”LHB.txt”: Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Ρ Ρ ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ LHB.txt.
- while read -r line; do: ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΈΠΊΠ» while ΠΈ ΡΠΈΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΎΠ΄Π½Ρ Π·Π° Π΄ΡΡΠ³ΠΎΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π° ΡΠ»Π°Π³ -r ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠ°Ρ .
- echo -e “$line\n”: ΠΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ°, ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.
- done < “$file”: ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠΈΠΊΠ» while.
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ:
./read.sh
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cat Ρ ΡΠΈΠΊΠ»ΠΎΠΌ while
Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cat Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΡΡΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠΎΡ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
#!/bin/bash
cat LHB.txt | while IFS= read -r line; do
echo "$line"
echo # Print a blank line
done
ΠΠΎΡ,
- cat LHB.txt |: Π§ΠΈΡΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° LHB.txt ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΅Π³ΠΎ Π² piped Π΄ΡΡΠ³ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ.
- while IFS= read -r line; do: Π§ΠΈΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΎΠ΄Π½Ρ Π·Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»Π° LHB.txt ΠΈ. IFS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π΅Π΄ΡΡΠΈΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
- echo “$line”: ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ, Ρ ΡΠ°Π½ΡΡΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ line.
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅:
- πΒ ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΡΠ°ΡΠ½Π΅ΠΉ Π΄Π°ΡΡ Π² Bash: ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
- π§Β Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ -z Π½Π° Bash
- π§Β ΠΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΡΠ»ΠΎ Π½Π° Bash
- πΒ Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π½Π° Bash
- πΒ ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π½Π° Bash β ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅
- π§Β Bash ΡΠΊΡΠΈΠΏΡΡ: ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
![]()
