Otázky a odpovědi týkající se praktického rozhovoru při skriptování prostředí Linux Shell

S drtivou odezvou se dostáváme k článkům řady Interview, prvním svého druhu na jakékoli webové stránce s pokyny pro Linux ve formě lajků, zpětné vazby v komentářích a na osobní e -mailové adrese nás nutí přecházet od jednoho článku k druhému článek.

Zde je odkaz na Rozhovor články již publikované na Tecmint.com, kde jsme se zabývali spoustou témat, např. FTP, MySQL, Apache, skriptování, Linuxové příkazy atd.

Praktická pohovorová otázka na skriptování prostředí
Praktická pohovorová otázka na skriptování prostředí

Pokračujeme -li výše uvedenou sérií, přicházíme s dalšími 5 nádhernými otázkami k rozhovoru s Linuxem a jejich odpovědí. Aby byla úspěšná, je vždy potřeba vaše podpora (čtenářů a častých návštěvníků Tecmint.com).

1. Napište skript prostředí, abyste získali aktuální datum, čas, uživatelské jméno a aktuální pracovní adresář.

Odpovědět :Příkazy logname, date, who I am a pwd vygenerují uživatelské jméno, aktuální datum a čas a aktuální pracovní adresář. Stačí implementovat tyto příkazy do skriptu a udělat to trochu interaktivní.

Nyní vytvořte soubor s názvem „userstats.sh“A přidejte do něj následující kód.

#!/bin/bash echo "Dobrý den, $ LOGNAME" echo "Aktuální datum je` date` "echo" Uživatel je "kdo jsem" "echo" Aktuální adresář `pwd`"

Umístěte oprávnění ke spuštění a spusťte skript, jak je uvedeno níže.

# chmod 755 userstats.sh # ./userstats.sh
Ukázkový výstup
Dobrý den, avi Aktuální datum je sobota 7. června 13:05:29 IST 2014 Uživatel je avi pts/0 2014-06-07 11:59 (: 0) Aktuální adresář/home/avi/Desktop
2. Napište skript Shell, který přidá dvě čísla, pokud je zadán jako příkaz Argument řádku, a pokud tato dvě čísla nejsou zadána, vydá chybovou zprávu spolu s jednořádkovým popisem, jak používat.

Odpovědět :Zde je jednoduchý skript Shell spolu s popisem, který přidává dvě čísla, pokud je zadán jako argument příkazového řádku, pokud ne, vyvolá chybu s jedním řádkem, jak skript použít.

Znovu vytvořte soubor s názvem „two-numbers.sh“A přidejte k němu následující obsah.

#!/bin/bash # Shebang pokud [$ # -ne 2] # Pokud nejsou dva vstupy přijímány ze standardního vstupu, pak # proveďte níže uvedené příkazy echo „Použití - $ 0 x y " # tisk na standardní výstup, jak použít skript (Použití - ./1.sh x y) echo" Kde x a y jsou dva nosy, pro které budu tisknout součet " # tisk na standardní výstup „Kde xay jsou dva nosy, pro které vytisknu součet“ exit 1 # Nechte shell v chybové fázi a než byl úkol úspěšně proveden ven. fi # Konec prohlášení if. echo "Součet $ 1 a $ 2 je` expr $ 1 + $ 2` " # Pokud byla výše uvedená podmínka nepravdivá a uživatel zadal dvě čísla jako argument příkazového řádku, zobrazí součet zadaných čísel.

Nastavte oprávnění souboru k spuštění a spusťte skript, jak je uvedeno níže.

# chmod 755 two-numbers.sh

Podmínka 1: Spuštěním skriptu bez zadání dvou čísel jako argumentu příkazového řádku získáte následující výstup.

Ukázkový výstup
# ./two-numbers.sh Použití-./two-numbers.sh x y Kde x a y jsou dva nosy, pro které vytisknu součet

Podmínka 2: Když jsou čísla zadána jako argument příkazového řádku, získáte výsledek podle obrázku.

$ ./two-numbers.sh 4 5 Součet 4 a 5 je 9

Výše uvedený skript Shell tedy splňuje podmínku, jak je navrženo v otázce.

3. Musíte vytisknout dané číslo, řekněme 10572, v opačném pořadí pomocí skriptu Shell, takže vstup je poskytován pouze pomocí příkazu Line Argument. Pokud vstupní data nejsou poskytnuta jako argument příkazového řádku, měla by se vrhnout a chybovat a měla by navrhnout, jak skript použít. Napište skript, ale předtím mi řekněte algoritmus, který je třeba zde implementovat.

Algoritmus

  1. 1. Nechte vstupní číslo = n
  2. 2. Nastavit rev = 0, sd = 0 (Reverzní a jedna číslice je nastavena na 0)
  3. 3. n % 10, najde a dá jediné nejvíce číslice vlevo
  4. 4. obrácené číslo je generováno jako rev * 10 + sd
  5. 5. Snižte vstupní číslo (n) o 1.
  6. 6. pokud n> 0, pak přejděte na krok 3, přejděte na nastavení 7
  7. 7. Tisk rev

Nyní znovu vytvořte soubor s názvem „čísla.sh“A přidejte následující kód.

#!/bin/bash if [$# -ne 1] then echo "Využití: $ 0 number" echo "Najdu obrácenou hodnotu daného čísla" echo "Pro např. 0 0123 $, vytisknu 3210 "exit 1 fi n = $ 1 rev = 0 sd = 0 zatímco [$ n -gt 0] do sd =` expr $ n % 10` rev = `expr $ rev \* 10 + $ sd `n =` expr $ n / 10` hotové echo "Obrácené číslo je $ rev"

Udělte oprávnění ke spuštění souboru a spusťte skript, jak je uvedeno níže.

# čísla chmod 755. h

Podmínka 1: Pokud jako argument příkazového řádku není zadán vstup, získáte následující výstup.

Ukázkový výstup
./numbers.sh Použití: ./numbers.sh číslo Najdu obrácené číslo daného čísla Pro např. ./2.sh 123, vytisknu 321

Podmínka 2: Když byl zadán vstup jako argument příkazového řádku.

$ ./numbers.sh 10572 Zpětné číslo je 27501

Výše uvedený skript fungoval perfektně a výstup byl přesně to, co jsme potřebovali.

4. Údajně byste měli vypočítat výpočet skutečného čísla přímo z terminálu a ne z jakéhokoli skriptu shellu. Co budete dělat (řekněme, že skutečná čísla jsou 7,56 a 2,453)?

Odpovědět :Potřebujeme použít příkaz bc zvláštním způsobem, jak je popsáno níže. Výstup echa 7,56 + 2,453 by měl být propojen na bc.

Například spusťte následující příkaz pro výpočet čísel v reálném čase pomocí před naším letopočtem příkaz podle obrázku.

$ echo 7,56 + 2,453 | před naším letopočtem 10,013
5. Údajně byste měli najít hodnotu pí až 100 míst desetinných míst, což je nejsnadnější způsob, jak dosáhnout výsledku.

Odpovědět :Nejjednodušší způsob, jak zjistit hodnotu pí, opravit až 100 míst desítkové soustavy, je třeba zadat níže uvedený příkaz.

# pi 100 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

Očividně! Musíme mít balíček ‘‘Nainstalováno. Stačí udělat a výstižný nebo Mňam abyste získali požadovaný balíček k instalaci 'Pí„Na distribuci, kterou používáte.

To je prozatím vše. Brzy tu budu zase s dalším zajímavým článkem. Do té doby zůstaňte naladěni a připojeni k Tecmint.com. Nezapomeňte nám poskytnout cennou zpětnou vazbu v sekci komentáře níže.

Teachs.ru