Skip to content

FreeUni-OS-2018Spring/hw1-shell-juicehead_monkeys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

საშინაო დავალება OS_2018_Spring კლასისთვის.

პროექტზე მუშაობდნენ:

გიორგი ქობულაძე - tomriddleperevell

ოთარ დვალიშვილი - sparrowV

ოთარ ჯანხოთელი - janxo

გაშვება - make && ./shell.c

ფუნქციონალი:

ჩაშენებული ფუნქციები:

?-- ბეჭდავს ინფორმაციას shell-ს შესახებ
cd -- ცვლის დირექტორიას
pwd -- ბეჭდავს მიმდინარე სამუშაო დირექტორიის სახელს
exit --  ასრულებს შელის პროცესს
ulimit -- აბრუნებს მიმდინარე ლიმიტებს ან ცვლის მათ
nice -- უშვებს პროგრამას შეცვლილი ‘nice’-ით
თუ nice-ს გამოვიძახებთ პარამეტრების გარეშე,
დაბეჭდავს მიმდინარე პროცესის niceness-ს
kill -- გზავნის სიგნალს მითითებულ პროცესთან
type -- ბეჭდავს გადაცემული ბრძანება built-in ფუნქციაა თუ სხვა პროგრამა

echo $VARNAME -- ბეჭდავს მითითებული ცვლადის მნიშვნელობას
echo $? -- ბეჭდავს ბოლო შვილობილი პროცესის სტატუს კოდს
echo "some random string" -- ბეჭდავს გადმოცემულ სტრინგს stdout-ზე
export VARIABLE -- აექსპორტებს ცვლადს და მის მნიშვნელობას
ENV1=”value” ახალი ცვლადის აღწერა

გარე პროგრამების გაშვება:

shell-ს შეუძლია ნებისმიერი გარე პროგრამის გაშვება,
რომლის გამშვები ფაილიც განთავსებულია $PATH ცვლადში
მოცემული     დირექტორიებიდან რომელიმეში.
shell პროცესი არ კცვდება ღილაკების კომბინაციით CTRL-C ან CTRL-Z.
c პარამეტრით პროგრამა არგუმენტად იღებს შესასრულებელ ბრძანებას.
გადაცემული ბრძანების შესრულების შემდეგ ამთავრებს მუშაობას
და აბრუნებს შესრულებული ბრძანების სტატუსს.
მაგ. ბრძანება: ./fsh -c 'cd /tmp; pwd' უნდა ბეჭდავდეს /tmp-ს
სიმბოლო ‘;’ აღნიშნავს ბრძანების დასასრულს
მას შეიძლება მოსდევდეს N რაოდენობის სხვა ბრძანება.

საკონტროლო ოპერატორები(‘||’ და ‘&&’):

თუ ბრძანებები გადაბმულია ‘||’ ოპერატორით მარჯვენა ოპერანდი
სრულდება მაშინ როცა მარცხენა ოპერანდი შედეგად დააბრუნებს
არანულოვან კოდს(მუშაობას დაასრულებს შეცდომით).
თუ ბრძანებები გადაბმულია ‘&&’ ოპერატორით მარჯვენა ოპერანდი
სრულდება მაშინ როცა მარცხენა ოპერანდი შედეგად დააბრუნებს
0-ს(მუშაობას დაასრულებს წარმატებით).
მაგ. ბრძანებები:
ls none_existing_dir || echo "there is no such directory or file"
ls ./ && echo "ls executed successfully"

პაიპ ოპერატორი:

მაგ: ბრძანება ls /etc | grep passwd | sort
ls-ის stdout-ი უნდა გადაებას grep-ის stdin-ს
grep-ის stdout უნდა გადაებას sort-ის stdin-ს

I/O stream-ების გადამისმართება:

ოპერატორი ‘<’ ამისამართებს სტანდარტულ ინფუთს (stdin)
ოპერატორი ‘>’ ამისამართებს სტანდარტულ აუთფუთს (stdout)
ჯერ ფაილის ზომას ანულებს
ოპერატორი ‘>>’ ამისამართებს სტანდარტულ აუთფუთს (stdout)
ახალ მონაცემებს ბოლოში აწებებს
მაგ: ბრძანება cat fsh.c > fsh_temp.txt
fsh.c ფაილის შიგთავსი გადააქვს fsh_temp.txt ფაილში
(fsh_temp.txt ფაილის ზომა დასაწყისში ნულდება)

პროექტი დაწერილია make-ით.

About

hw1-shell-juicehead_monkeys created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •