Welcome to the CYBSECGROUP Forum
You have the opportunity to get acquainted with interesting projects in an interesting environment
Registration

Bash სკრიპტი-ნაწილი II

  • Thread starter კახა ჯელაძე
  • Start date

კახა ჯელაძე

სტუმარი
#1
გამარჯობათ ფორუმელებო.ვაგრძელებთ ბეშის შესწავლას.
მეორე ნაწილში გავაგრძელებ ტექსტუტ ოპერაციებზე საუბარს.
ბეშ სკრიპტში არსებობს ტექტის გამოტანის ორი ბრძანება: echo რომელზეც წინა სტატიაში ვისაუბრე,ხოლო მეორე ბრძანება გახლავთ printf.

Printf იგივე არგუმენტებს იყენებს რასაც C პროგრამირების ენა.echo ბრძანებისგან განსხვავებით printf-ს არ გააჩნია ავტომატურად ახალი ხაზიდან დაწყება,ის თავად უნდა მივუთითოთ.მაგ:
Bash:
#!/bin/bash #Filename: printf.sh
printf  "%-5s %-10s %-4s\n" No Name  Mark
printf  "%-5s %-10s %-4.2f\n" 1 Sandro 80.3456
printf  "%-5s %-10s %-4.2f\n" 2 Nata 90.9989
printf  "%-5s %-10s %-4.2f\n" 3 Irakli 77.564
გამოიტანს შემდეგ ტექსტს:
Code:
No    Name       Mark 1  
1       Sandro     80.35 2
2       Nata         91.00 3  
3       Irakli        77.56
\n ნიშნავს ახალი ხაზიდან დაწყებას
%-5s გამოიყენება განლაგებისთვის,5 ერთეულის დაშორებით მარცხნიდან.უმ შემთხვევაში თუ არ დავუწერთ - დაშორება დაიწყება მარჯვნიდან.
მთელი რიცხვებისთვის შეგვიძლია დამატებითი არგუმენტებით განვსაზღვროთ მდებარეობა,განლაგება და ა.შ.
%s, %c, %d, და %f არის ფორმატის ჩანაცვლების სიმბოლოები, რომელთა არგუმენტი შეიძლება განთავსდეს ციტირებული ფორმატის სტრიქონის შემდეგ.
%-4.2f -ში .2 ნიშნავს დამრგვალებას მეასედამდე ანუ თუ გვიწერია 80,3456 .2- ის მითითების შემდეგ შედეგში გამოიტანს 80.35 (35 იმიტომ რომ 34ის შემდეგ 5 ეწერა :) )
ასევე ბეშში შესაძლებელია ასოთა ფერის განსაზღვრა:
reset = 0, შავი = 30, წითელი = 31, მწვანე = 32, ყვითელი = 33, ლურჯი = 34, magenta = 35, cyan = 36, თეთრი = 37
Bash:
echo -e "\e[1;31m This is red text \e[0m"
ამით ჯერჯერობით ბეჭდვით ოპერაციებზე დავამთავრეთ,თუმცა ალბათ ისევ შეგვხვდება ახალახალი მაგალითები....
 
Last edited by a moderator: