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





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).
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.





# 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)





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, ...
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!