A source egy praktikus beépített shell-parancs, amely elfogadja az argumentumokat, elemzi a parancsokat egy parancsfájlban, és végrehajtja azokat a shell környezetben. A fájl tartalmát forrásonként beolvassa, majd továbbítja a Tool Command Language (TCL) értelmezőhöz, amely végrehajtja a parancsokat.

Tanuljuk meg, hogyan lehet a forráskódot parancsok végrehajtására és shell-környezetekkel dolgozni Linuxon, valamint röviden elmagyarázzuk, miben különbözik a bash parancstól.

Használja a forrást a parancsok végrehajtásához egy fájlban

A forrás parancs használatához először létre kell hoznia egy mintafájlt, és fel kell töltenie néhány shell-parancsot. Kezdje azzal, hogy hozzon létre egy új fájlt a az érintés parancsot. Nyissa meg a fájlt egy választott szövegszerkesztőben, és írjon néhány alapvető shell-parancsot.

érintésteszt.txt
viteszt.txt

# Írja be a parancsokat a szöveges fájlba:
visszhang "Helló!"
pwd
ls

# A fájl forrása forrás vagy pont szintaxissal
. teszt.txt
forrásszöveg.txt

Írja ki a szövegfájlt, és adja át argumentumként a forrás parancsnak. A rendszer végrehajtja a fájlban lévő parancsokat, és egy kimenetet ad vissza.

instagram viewer

Most, hogy ismeri a forráskód használatának alapjait, próbáljuk meg megváltoztatni a Bash shell környezetet. Mielőtt azonban továbblépne, alapvető ismeretekkel kell rendelkeznie környezeti változók Linuxban.

A Bash Shell környezet frissítéséhez használja a forrásparancsot

Linuxon a környezeti változók öröklődnek, de megváltoztathatatlanok. Ha olyan Bash shell szkriptet hajt végre, amely módosítja a $TEST környezeti változót, a szkript egy új, forked shell folyamat, és a $TEST módosítása fog megtörténni benne az eredeti Bash helyett környezet.

A gyermekfolyamat nem tudja módosítani a szülőfolyamat környezetét. Csak a saját környezetét tudja módosítani. Értsük meg ezt egy gyakorlati példával:

export TESZT="deb"
vi példa

# Írja be ezeket a parancsokat a fájlba
export TESZT="ágy"
visszhang $TESZT

# Írja ki a fájlt, tegye végrehajthatóvá, majd futtassa
chmod +x példa
./példa # ez visszaadja az "ágyat"
visszhang $TESZT # ez a "deb" kifejezést adja vissza

Itt lép életbe a forrás parancs. A forrás paranccsal végrehajthat egy parancsfájlt ugyanabban a shell-környezetben, amely egyébként elágazva lett volna. Tehát, ha olyan szkriptet szerez be, amely módosítja a környezeti változókat, az elvégzi a módosításokat a Bash shell környezet számára.

A teszteléshez írja be a fenti kódmezőbe a parancsokat egy új fájlba, és használja a forrás parancsot ahelyett, hogy végrehajthatóvá tenné.

# Hozzon létre egy új fájlt, és szerkessze
vi teszt fájlt
. teszt_fájl
visszhang $TESZT # Ez visszaadja az "ágyat"

Mint látható, a forrás paranccsal frissíteni tudta a szülőfolyamat környezeti változóit. Ez a forrásparancs elsődleges használati esete, azaz a szülőkörnyezet módosítása.

Ez az összes lépés, amelyet a Bash shell-környezet forrásparanccsal történő frissítéséhez kell végrehajtania.

Különbség a Linux bash és a forrásparancsok között

A különbség a Linux bash és a forrásparancsok között az, hogy amikor a bash paranccsal futtatsz egy szkriptet, az megmondja a Linuxnak kernel, hogy hozzon létre egy új Bash-folyamatot a szkript olvasásához és végrehajtásához, másolja a kimenetet az eredeti shell-folyamatba, és jelenítse meg.

De a forrás parancs az beépített héj amely beolvas és kiértékel egy fájlt az aktuális shell folyamaton belül. Tehát a szkript által végrehajtott összes módosítás megmarad a Bash shellben.

A forrás parancshibáinak elhárítása

Egyes Linux rendszereken előfordulhat, hogy "forrás nem található" hibaüzenetet kap a forrás parancs használata közben. Ezt a hibát kétféleképpen javíthatja ki:

1. Változtassa meg a Shell-t

Egyes parancsértelmezők nem támogatják a forrás parancsot. Ebben az esetben módosítania kell a shell környezetét a chsh -s ($mely shell_name) parancs.

Ezután indítsa el az új terminált megváltoztatja a héját, és próbálja meg a source parancsot használni. Ha az új héj támogatja a beszerzést, akkor hibátlanul kell működnie.

2. Használja a pont/pont szintaxist

Egyes shell-környezetek nem támogatják a "forrás"szintaxis, de az alternatíva"." szintaxis. A "forrás" szintaxis a pont szinonimája a Bashban. De ez nem működik a POSIX shellben, ezért a maximális kompatibilitás érdekében használja a pont szintaxist.

Alapvető Linux-parancsok, amelyeket tudnia kell

A Linux shell parancsok nagyszerű módja annak, hogy a terminál használatával interakcióba lépjen a rendszerrel. Ezek jelentik a *NIX rendszerek használatának lényegét.

Noha nem kell ismernie az összes parancsot, néhány hasznos parancs ismerete minden bizonnyal gyümölcsöző lesz, amikor mélyen bemerül a Linux világába.