30Jun

Hogyan készítsünk és futtassunk Bash shell parancsfájlokat a Windows 10 rendszeren?

A Windows 10 Bash-héjának megérkezésével most létrehozhat és futtathatja a Bash-parancsfájlokat a Windows 10 rendszeren. Bash parancsokat is beépíthet Windows batch fájlba vagy PowerShell parancsfájlba.

Még ha tudod, mit csinálsz, ez nem feltétlenül olyan egyszerű, mint amilyennek látszik. A Windows és a UNIX különböző soros karaktereket használ, és a Windows fájlrendszer a Bash környezetben egy másik helyen érhető el.

Hogyan készítsünk egy Bash scriptet a Windows 10 rendszeren

Amikor írásban írjuk be a shell parancsfájlokat Windows rendszeren, tartsuk szem előtt, hogy a Windows és a UNIX-szerű rendszerek, mint például a Linux különböző "végvonalbeli" karaktereket használnak a parancsfájlok szövegfájljában.

Más szóval ez azt jelenti, hogy egyszerűen nem írhatsz parancsfájlt a Jegyzettömbben. Mentse a fájlt a Jegyzettömbben, és a Bash nem fogja megfelelően értelmezni. Azonban használhat fejlettebb szövegszerkesztőket - például a Notepad ++ lehetővé teszi, hogy a fájlok UNIX végsoros karaktereket adjon meg a Szerkesztés & gt;EOL konverzió & gt;UNIX / OSX formátum.

Azonban jobb, ha csak a shell parancsfájl írása a Bash környezetben. Az Ubuntu-alapú Bash környezet mind a vi, mind a nano szövegszerkesztõvel érkezik. A vi szerkesztő erősebb, de ha korábban még soha nem használta, előfordulhat, hogy kezdődik a nano. Könnyebb használni, ha új vagy.

Például egy bash parancsfájl létrehozása a nano-ban: bash:

nano ~ / myscript.sh

Ezzel megnyithatja a Nano szövegszerkesztőt, amely a felhasználó "myscript.sh"fiók otthoni könyvtára.(A "~" karakter a saját könyvtárat jelöli, tehát a teljes elérési út /home/username/ myscript.sh.)

Indítsa el a shell parancsfájlt a következő sorral:

#!/bin/ bash

Adja meg a futtatni kívánt parancsokat, mindegyiket saját sorában. A parancsfájl soronként minden parancsot futtat. Adjon hozzá egy "#" karaktert egy sor előtt, hogy "megjegyzésként" kezelje, ami segít neked és más embereknek megérteni a szkriptet, de nem fut parancsként. A fejlettebb trükkökért nézze meg a Bash parancsfájlok részletesebb ismertetését Linuxon. Ugyanezek a technikák fognak működni az Ubuntuban a Windows-ban.

Ne feledje, hogy nincs lehetőség Windows programok futtatására a Bash környezetben.Ön csak a Linux terminálparancsokra és segédprogramokra korlátozódik, akárcsak egy tipikus Linux rendszeren. Például, használjunk például egy egyszerű "hello világ" szkriptet itt:

#!/bin/ bash # a STRING változót állítja be STRING = "Hello World!"# írja be a változó tartalmát a képernyőn echo $ STRING

Ha a Nano szövegszerkesztőt használja, a Ctrl + O billentyűk megnyomásával mentheti a fájlt, majd az Enter billentyűt. Zárja be a szerkesztőt a Ctrl + X billentyűk megnyomásával.

A parancsfájl végrehajthatóvá tétele, majd futtatása

Valószínűleg azt szeretné, hogy a parancsfájl futtatható legyen, így könnyebben futtatható.Linux alatt ez azt jelenti, hogy a parancsfájlnak a végrehajtható engedélyt kell megadnia. Ehhez futtassa a következő parancsot a terminálon, és a parancsfájlba mutasson:

chmod + x ~ / myscript.sh

A parancsfájl futtatásához most csak a terminálon futtathatod az útvonalat. Amikor a jövőben el szeretné indítani a forgatókönyvet, csak nyissa meg a Bash shell parancsot, és írja be a parancsfájl elérési útját.

~ / myscript.sh

( Ha a parancsfájl az aktuális könyvtárban van, akkor futtathatja azt. /myscript.sh)

Hogyan működjön együtt a Windows fájlokkal a bashes parancsfájlban

Ahhoz, hogy hozzáférjen a Windows fájlokhoz a szkriptben, Meg kell adni az utat az /mnt/ c alatt, nem pedig a Windows elérési útját. Ha például meg akarja adni a C: \ Users \ Bob \ Downloads \ test.txt fájlt, meg kell adnia az /mnt/c/Users/Bob/Downloads/ test.txt elérési utat. További részletekért tekintse meg a Windows 10 Bash-héjában található fájljahelyek útmutatóját.

A Bash parancsok beépítése Batch vagy PowerShell parancsfájlba

Végül, ha létező kötegfájl vagy PowerShell parancsfájl van beépítve, akkor a bash -c paranccsal közvetlenül futtathatja a Bash parancsokat.

Például, ha futtatni egy Linux parancsot a Command Prompt vagy a PowerShell ablakban, akkor a következő parancsot futtathatja:

bash -c "parancs"

Ez a trükk lehetővé teszi a Bash parancsok batch fájlokban vagy PowerShell parancsfájlokban történő hozzáadása. A Bash parancsikon megjelenik, ha a Bash parancs fut.

Ahhoz, hogy létrehozzon egy gyorsbillentyűt a Bash parancsfájlból a Windows rendszerből, csak hozzon létre egy parancsikont, mint a normál. A parancsikon céljához használja a fent ismertetett bash-c parancsot, és mutasson rá a létrehozott Bash parancsfájlra.

Például egy "bash -c" ~ / myscript.sh "parancssort mutat be a fenti parancsfájl futtatásához. Ezt a parancsot a Command Prompt vagy a PowerShell ablakból is futtathatja.