Kezdőoldal » Számítástechnika » Egyéb kérdések » Hogyan tudom megcsinálni az...

Hogyan tudom megcsinálni az alábbi linuxos feladatokat?

Figyelt kérdés

Az alábbi parancsot használtuk egyszer:

sudo find / -type f -exec file ’{}’ \; | grep ’Shell script’ | wc -l


Kérdések:

1. Mi történik, (és miért), ha az idézőjeleket elhagyjuk az exec file ’{}’ parancsban?

2. Mi történik, (és miért), ha a \-t hagyjuk el

3. Mi történik, (és miért), ha a grep parancsban hagyjuk el az idézőjeleket?


Ennél az a baj, hogy a parancssor már rögtön azt írja, hogy hiányzik az exec argumentuma, így nem tudom lefuttatni


Adott a következő parancsfájl:

#!/bin/bash

a=`df --output=pcent /$1 | grep '[0-9]' | sed 's/%//'`

b=`expr $a \< $2`

echo $b

exit $b

#


Kérdések:

1. Írja le szövegesen, mit csinál a parancsfájl

2. Futtassa le, az eredményről képet kérek.

Segítség hozzá:

A parancsfájlt két paraméterrel meghívni, az első egy directory/diszk, a második egy 0 és 100 közötti szám.


A 2. feladatnál már alapból a kérdést sem értem, mi az hogy a parancsfájlt két paraméterrel kell meghívni.



2020. nov. 1. 20:25
 1/5 anonim ***** válasza:

Az elsőhöz:

"hiányzik az exec argumentuma"

Jó lenne tudni, mi a pontos üzenet. Önmagában a 'file' parancs mit csinál?


Először csak ezt futtasd le:

find / -type f -exec file '{}' \;

Ennek ki kell írnia egy rakás sort. (Javaslom egy olyan mappában futtatni, hol pár szkript van, és akkor a find utáni / helyett csak egy pontot tegyél, gyorsabban lefut.) Nézd meg, hogy mi szerepel szkriptek soraiban. Nálam ez:

POSIX shell script, ASCII text executable

vagy

Bourne-Again shell script, ASCII text executable

Vagyis a shell script kisbetűvel van!!


Ha ez működ, akkor:

find / -type f -exec file '{}' \; | grep 'shell script'

Ez már csak a szkripteket listázza ki. Ha ez is működ, akkor a végére írhatod a maradékot, ami számot ír majd ki.

2020. nov. 1. 21:51
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Másodikhoz:

Biztos írtál már be olyat, hogy egy program neve és utána a paraméterek. Pl. a

grep 'shell script'

is ilyen volt. A grep után jön az ő paramétere, amivel dolgozik. Na most a te szkripted is át tud venni paramétereket a parancssorból, ezek a $1 és $2 helyére kerülnek majd futtatáskor. Például ha egy xyz nevű fájlba írod a megadott sorokat (a két # között), és futtathatóvá is teszed, akkor pl. így hívhatod meg:

xyz home 100


A helyzet ugyanaz mint fentebb. Először próbáld ki a parancssorban, mit csinál ez:

df --output=pcent /home

Elvileg kiír egy fejléc sort, alá pedig a /home foglaltságát százalékban.


Most próbáld ki ezt:

df --output=pcent /home | grep '[0-9]'

Ez azt a sort szűri ki, ahol számok szerepelnek, vagyis maga a százalék érték, de még ott lesz a százalékjel mögötte.


df --output=pcent /home | grep '[0-9]' | sed 's/%//'

A sed a végén leszedi a százalékjelet, tehát marad egy szám.

Ezt a számot fogja (karakteresen) az 'a' változóba tenni.


Az expr tuképpen egy kifejezést értékel ki, vagyis hogy ez a szám kisebb-e, mint a második paraméter. Ha igen, akkor 1-et ad vissza, ha nem, akkor 0-t. Kipróba:

expr `df --output=pcent /home | grep '[0-9]' | sed 's/%//'` \< 100

Ennek az eredményét a 'b' változóba teszi, kiírja, és ez lesz a szkript exit kódja is, tehát a shellnek is ezt adja vissza. (Használható pl. feltételként is a szkripted.)


Kieg: Ez a jel ` (nálam legalábbis) az alt+7 leütésére jön elő. Ha ilyen idézőjelek között van egy parancs, akkor azt lefuttatja és a kimenetét behelyettesíti az egész kifejezés helyére. Tehát a= és ide berakja a df+grep+sed futásának eredményét.

2020. nov. 1. 22:11
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
#1-2 voltam: Milyen suliba jársz, hogy már a "paraméter" szónál elakadtál? Csak kíváncsiságból.
2020. nov. 1. 22:15
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

#1-3.

Köszi, holnap meglesem őket, aztán ha elakadok, akkor írok ide még. Ez volt a teljes feladatkiírás, amit kaptunk. Egyébként írtam privátban.

2020. nov. 1. 22:49
 5/5 A kérdező kommentje:
Köszi, működik. :)
2020. nov. 3. 23:41

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!