Még akkor is, ha tudod, mit csinálsz, ez nem feltétlenül olyan egyszerű, amilyennek tűnik. 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 írhatunk egy Bash scriptet a Windows 10 operációs rendszeren?
A shell parancsfájlok Windows rendszeren történő írásakor tartsa szem előtt, hogy a Windows és a UNIX-szerű rendszerek, mint 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 nem lehet egyszerűen írni egy parancsfájlt a Jegyzettömbben. Mentse a fájlt a Jegyzettömbben, és a Bash nem fogja megfelelően értelmezni. Azonban használhat speciálisabb szövegszerkesztőket - például a Notepad ++ lehetővé teszi, hogy a fájlok UNIX karakterek végpontjainak megadásához kattintson a Szerkesztés> EOL konverzió> UNIX / OSX formátumra.
Például egy bash parancsfájl létrehozásához a nano-ban a következő parancsot kell futtatni a bash-ben:
nano ~/myscript.sh
Ez megnyitja a Nano szövegszerkesztőt, amely egy "myscript.sh" nevű fájlra mutatott a felhasználói fiókjának főkönyvtárában. (A "~" karakter a saját könyvtárat jelöli, így a teljes elérési út a /home/username/myscript.sh.)
#!/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 a 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 itt csak egy alap "hello világ" szkriptet használjunk itt:
#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING
Ha a Nano szövegszerkesztőt használja, a fájlt a Ctrl + O, majd az Enter gomb megnyomásával mentheti. Zárja be a szerkesztőt a Ctrl + X billentyűk megnyomásával.
Végezze el a parancsfájl végrehajtását, majd futtassa azt
Valószínűleg azt szeretné, hogy a parancsfájl végrehajtható 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
~/myscript.sh
(Ha a parancsfájl az aktuális könyvtárban van, akkor futtathatja a./myscript.sh fájllal)
Hogyan működjön együtt a Windows fájlokkal a Bash parancsfájlban?
A Windows fájlok eléréséhez a parancsfájlban meg kell adnia az elérési útjukat a / mnt / c alatt, nem pedig a Windows elérési útján. Például, ha meg akarja adni a C: Users Bob Downloads test.txt fájlt, meg kell adnia a /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 scriptbe
Végül, ha van olyan meglévő kötegfájl vagy PowerShell parancsfájl, amelybe parancsokat szeretne beépíteni, a Bash parancsokat közvetlenül futtathatja a
bash -c
parancs.
Például, ha Linux parancsot futtat egy Command Prompt vagy PowerShell ablakban, akkor futtathatja a következő parancsot:
bash -c 'command'
Ez a trükk lehetővé teszi a Bash parancsok batch fájlokban vagy PowerShell szkriptekben való hozzáadása. A Bash parancsikon megjelenik, ha a Bash parancs fut.
frissítés: Ha több Linux környezetet telepít, a wslconfig parancs segítségével választhatja ki az alapértelmezett Linux környezetet, amelyet a
bash -c
parancs.
A Bash parancsfájl gyorsbillentyűjének létrehozása a Windows rendszeren belül egyszerűen hozzon létre egy parancsikont, mint a normál. A parancsikon céljához használja a
bash -c
parancsot, amelyet felvázoltunk, és mutassuk a létrehozott Bash parancsfájlra.
Például egy parancsikont mutat a"
bash -c '~/myscript.sh'
A fenti parancsfájl futtatásához. Ezt a parancsot a Command Prompt vagy a PowerShell ablakból is futtathatja.