Kezdőoldal » Számítástechnika » Egyéb kérdések » Linuxból segítene valaki?? 2...

Linuxból segítene valaki?? 2 rövid feladatot kellene elkészítenem.

Figyelt kérdés

Nos.

Linuxot tanulok év eleje óta (17L), de az osztály 80%-a bukásra áll, mert a tanár nem tanár, lényegtelen, hétfőn kéne bemutatnom, de úgy, hogy a parancsokat ill karaktereket egyesével megkell magyaráznom, mindenbe beleköt a tanár, még abba is ami jó. Egy shelles egyszerű if else számológépet kell csinálni, és egy case-t.

Az if else:

#!/bin/bash

if [ "$2" = "-" ] ; then

echo "$1 - $3 = "$(($1 - $3))

else

if [ "$2" = "+" ] ; then

echo "$1 + $3 = "$(($1 + $3))

else

if [ "$2" = "/" ] ; then

echo "$1 / $3 = "$(($1 / $3))

else

if [ "$2" = "*" ] ; then

echo "$1 * $3 = "$(($1 * $3))

else

echo "ismeretlen művelet"

fi

fi

fi

fi

Nos ebből ki van maradva elvileg az argumentum számláló, amit az elejére kell beleírni egy if ágba, hogy csak akkor fusson le a porgram, ha megvan a 3 argumentum ugye a két szám meg az előjel az a 3 argomentum és azt kell neki megnéznie, ha ez a 3 nincs meg, akkor ne fusson le. Azt se tudom belerakni. És persze azt se tudom hogy melyik karakter mit jelent...

És ugyan ezt kellene megcsinálni caseba. tényleg egy nagyon alap, nagyon buta kis ilyen if else, case számológépre lenne szükségem..

Hálás lennék nagyon, az élet visszaadná garantálom!!!!🥺❤️



2021. máj. 30. 15:56
 1/6 anonim ***** válasza:
100%

Switch: [link]

If: [link]


Osztásnál nyilván tudod hogy a * spec. karakter így sh szamologep.sh 9 \* 3-al működik a 9*3=27 működik. Osztásnál 1/3=0-t ad, így volt az if-esbe én is így hagytam.


Este még valószínű felnézek (nem 100%) ha kérdés van írj.

2021. máj. 30. 17:34
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
Egyenlőséget -eq -val ellenőrizd, ne = jellel.
2021. máj. 30. 17:58
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
100%

Most látom hogy a megírt résszel is vannak "kérések".

Rövid magyarázat, hogy kb. értsd és saját szavaiddal órán tanultak? alapján kiegészítsd, módosítsd. Próbálom kerülni a szaknyelvet...:

$# argumentumok száma

if ["$#" -ne 3]; then: ha az argumentumszám "-ne" not equal, nem egyenlő akkor igaz...

return: visszatér a program nem fut tovább.

$1,2,3: az argumentumok ($1 első szám, $2 művelet, $3 második szám)

if [...] ; then: ha [igaz] akkor legyen...

echo: echo "írd ki a képernyőre"

$(($1 +-*/ $3)): Végezd el a műveletet (és írd ki)

else: ha az előző if nem volt igaz menjünk a következőre, ellenőrizzük le...

fi: az if-ek lezárása, if-ek száma == fi-k száma


case $2 in: 2. argumentum értéke alapján ha...

"+"): az plusz karakter...

;; : termináló jel, az adott "case" lezárva

*) : ha valami más, ami nincs definiálva (default case)

esac: a switch-case lezárása (mint a fi)


#2-es válaszolónak igaza van. -eq jobb de ha "="-t tanultatok akkor ne menj szembe a tanárral. Ugyan úgy kell használni mint az általam írt argumentum ellenőrzésnél a -ne.

2021. máj. 30. 18:05
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Nem gondoltam volna hogy ennyi segítséget kapok. Nagyon hálás vagyok, mert ha sikerül, és nem égek be, ill nem köt belém mindenhol is, akkor kapok érte kettő ötöst, és megvagyok mentve. Minden érthető így, kiírtam lapra a magyarázatot. Nagyon szépen köszi mindenkinek
2021. máj. 30. 19:18
 5/6 anonim ***** válasza:
Remélhetőleg menni fog, kérlek jelezz majd vissza, ha kész vagy a "védéssel" :)
2021. máj. 30. 19:29
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
4-es lett mindketto!!! nagyon szepen koszonom!
2021. jún. 3. 20:48

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!