Kezdőoldal » Számítástechnika » Egyéb kérdések » Linux-nál mi amkülönbség,...

Linux-nál mi amkülönbség, hogy ha vmit . /-rel vagy sh. Val futattok?

Figyelt kérdés
Még most ismerkedem a linux-szal, de van egy képletöltő "szkriptem" (python ), amit hogy ha sh-val futattok akkor alig tölt le pár képet még hogy ha ./-rel akkor meg jóval tetemesebb mennyiséget. Ez mitől lehet??
2020. febr. 16. 22:17
 1/6 anonim ***** válasza:
75%

Nem igazán értem a kérdést...

Mit értesz az alatt, hogy sh-val futtatsz? Az sh egy parancsértelmező, a ./ pedig egy elérési út (egész pontosan azt jelzi, hogy az aktuális könyvrátban található a fájl).

2020. febr. 16. 22:36
Hasznos számodra ez a válasz?
 2/6 anonim válasza:
78%

Ha ./-rel futtatod, akkor az történik, hogy megnézi, hogy mivel kellene futtatnia.

Remélhetőleg a fájlod első sora #!/usr/bin/python, vagy akármi is a te rendszereden a python elérési útja (ezt a which python-nal tudod lekérdezni). Ezt a sort shebang-nek hívják és ebből fogja tudni, hogy mivel kell futtatnia.

Mivel nem sh script, nincs értelme sh-val futtatnod.

2020. febr. 16. 22:45
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
100%
Így van ahogy #2-es írja. Annyit tennék hozzá, hogy a /bin/sh a legtöbb disztóban egy symlink valamelyik shellre, pl. a dashra.
2020. febr. 17. 10:34
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

# Igen azt tudom,hogy a ./ alapból a aktuális mappát jelöli,csak ahonnan le lehetett tölteni a fájl írták, hogy ezzel futtassam és még elsőre én is furcsáltam hogy mért így kell ha a ./ a mappát jelöli.


Igazából most nézem, hogy mivel emlékezetből írtam a kérdést összekevrtem egy másik fájlt amit futtaok és amire gondoltam az valóban sh kiterjestésű, viszont még mindig nem értem azt hogy ha sh-val kell ezt futtatni kiterjesztésből fakadóan (tehát valóban .sh), akkor hogy lehet hogy a ./-rel még "jobban" működik, mint az elvileg számára "megfelelőbb" sh-val?? (Mint haogy írtam is a sh ./-rel futattom alig tölt le állományt, még ha ./-rel (sh nélkül) akkor jóval többet?


erről lenne szó mellékesen: [link]


(sh ./download-subreddit-images.sh || ./download-subreddit-images.sh)

2020. febr. 17. 22:58
 5/6 anonim ***** válasza:
100%

Add ki a gépen "which sh" parancsot. Ekkor látod, hogy az eredmény "/bin/sh". Tehát az "sh" parancs a /bin/sh binárist takarja (igaz, ezt eddig is tudtuk...).

Most add ki a "stat /bin/sh" vagy a "file /bin/sh" parancsot. Mindkét parancs megmutatja, az sh egy symlink a dash-ra. Tehát ha "sh"-val futtatod a scripted, akkor a dash futtatja, viszont a scripted bash-hoz készült, ezért fut jobban bash alatt.

Téged az ".sh" kiterjesztés zavart össze, de ezzel ne foglalkozz. Linux alatt a kiterjesztéseknek nem sok szerepe van, leginkább csak a felhasználót tájékoztatják a fájl típusáról, a rendszert alapértelmezetten a fájl belső felépítéséből állapítja meg annak típusát.

Az .sh egyébként is csak shellt jelent, ami utalhat bash-ra, dash-ra, zsh-ra, ...

2020. febr. 18. 09:35
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Ooh mostmár azt hiszem kicsit jobban értem, köszönöm a válaszod, hasznos információ volt. A többieknek is köszönöm a választ :)
2020. febr. 18. 11:24

További 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!