Hogyan változik a változó a Linuxban?

A Linux operációs rendszer parancssori héja egy hatékony eszköz, amely lényegében egy programozási nyelv tolmács. A többi programozási nyelvhez hasonlóan a parancs shell lehetővé teszi, hogy változókat használjon az adatok tárolásához, letöltéséhez és kezeléséhez.

Változó értékek beállítása és lekérése

A bash parancs shellben, amely a Linux alapértelmezett héja, beállíthat egy változót az NAME = VALUE általános szintaxis használatával. Például a parancssorba írhatja be:

 X = 5 

És egy x változót a numerikus értékre állítunk be 5 . A változó nevek nagybetűs vagy kisbetűsek, vagy mindkettő keveréke lehetnek, és kis- és nagybetűk. A változó beállításakor nem lehet szóköz a változó neve, az egyenlőségjel és az érték között.

Nincs szükség a változó előzetes bejelentésére, vagy adattípusának megadására. A Bash az érték alapján határozza meg a változó típusát.

Például a változó tartalmazhat egy stringet is:

 X = szia 

Egy egyszerű karakterlánc esetében nem szükséges az idézőjelek közé sorolni a karakterláncot, de ha a karakterlánc szóközöket tartalmaz, akkor kettős idézőjelekkel kell körülírnia:

 x = "Hello, világ!" 

A változó értékének lekérdezéséhez előtagba kell helyezni egy dollárjelet. Ha például az echo parancs segítségével szeretné megtekinteni az x értéket, akkor futtatná:

 echo $ x 

Mely kimenetek:

 Helló Világ! 

Ami itt történik, a héj a változó értékét veszi fel, és beilleszti a parancsba. A változót bárhol a parancsodban is megnézheted, még egy kettős idézett karakterláncban is:

 echo "$ x $ x Tud valaki hallani? Mondtam, $ x" 
 Helló Világ! Helló Világ! Tud valaki hallani? Azt mondtam, Hello, World! 

Tipp: A változók csak egy stringben értelmezhetők, ha kettős idézeteket használ. Ha egyszeres idézeteket használ, a változó neve szó szerint értelmezendő, értelmezés nélkül:

 echo '$ x $ x Tud valaki hallani? Azt mondtam, $ x ' 
 $ x $ x Tud valaki hallani? Azt mondtam, $ x 

A változó értékének beállítása egy parancs kimenetének

A változó értékének egy adott parancs kimenetének beállításához használja az alábbi űrlapot:

 NAME = $ (parancs) 

Például, ha a felhasználóneved "steven", a whoami parancs futtatása visszaadja a steven értéket. Beállíthatja ezt egy változóra:

 myname = $ (whoami) 
 echo $ myname 
 István 

Ezt bármilyen parancs esetén megteheti. Ha a parancs argumentumokat vesz fel, akkor nem kell idézőjelekbe csatolni a parancsot. A zárójelben lévő mindent parancsként kell futtatni:

 x = "Hello, világ!" 
 x = $ (echo $ x $ x $ x) 
 echo $ x 
 Hello, World! Hello, World! 

A változók használata egyszerű szkriptben

Lássuk, hogyan használhatunk egy változót egy egyszerű mentési parancsfájlban. Tegyük fel, hogy mindent el akarunk menteni az otthoni könyvtárban található könyvtár dokumentumokból . A parancsfájl mindent tárol az adott könyvtárban és minden benne lévő könyvtárban egy tar-archívumba, amelynek neve tartalmazza az aktuális dátumot. Tartsuk a biztonsági másolatokat egy könyvtárban, melyet a saját könyvtárában ( biztonsági mentések) nevezünk (feltételezzük, hogy a könyvtár már létezik. Ha nem, akkor az mkdir ~ / backups futtatásával létrehozhatja).

Nyisson meg egy szövegszerkesztőt, és helyezze el ezt a szöveget egy új fájlba:

 #! / bin / bash MYFILENAME = ~ / biztonsági másolatok / dokumentumok-mentés - $ (dátum +% Y-% m-% d) .tar.gz 

tar -czf $ OUTPUTFILE ~ / dokumentumok

Nézzük meg a szkript minden sorát. Az első sor, a #! / Bin / bash, futtatható fájlként deklarálja a parancsfájlt, és megadja, hogy a / bin / bash-al kell futtatni, ami a bash parancs shell futtatható. Megjegyzés: A fájl nem lesz végrehajtható mindaddig, amíg a fájlt később nem chmodáljuk, de ez a sor minden megfelelő bash parancsfájlban szükséges.

A második sor a MYFILENAME változót állítja be, amely tartalmazza a biztonsági mentést tartalmazó archívum nevét. A fájlnév első része a ~ / backups .

Megjegyzés: A tilde karakter ( ~ ) egy speciális könyvtárnév, amely mindig a saját könyvtárunkat képviseli.)

Ezután megvan a fájlnév, a dokumentumok- mentés kezdete. Ezután beillesztjük az aktuális dátumot a dátumparancs, a plusz szimbólum és a dátumformátum string % Y-% m-% d segítségével . Például, ha a dátum 2015. február 23-án érkezett vissza, akkor 2015-02-23 .

Végül a .tar.gz kiterjesztést használjuk, amely a gzip-tömörített tar fájl megfelelő fájlnév-kiterjesztése. Tehát, ha 2015. február 23-án futtattuk ezt a forgatókönyvet, a MYFILENAME értéke ~ / backups / documents-backup-2015-02-23.tar.gz lenne . Ha 2015. május 7-én futottunk, az érték ~ / backups / documents-backup-2015-05-07.tar.gz lesz .

A harmadik sor az az archívumot létrehozó parancs. A tar parancsot a -czf opcióval használjuk, amely ( c ) a megadott fájlnevet ( f ) használva létrehoz egy ( z ) gzippelt archívumot ( z ). Ezután megadjuk az archív fájl nevét a 2. sorban létrehozott változó alapján. Végül azt mondjuk a tar -nak, hogy mit akarunk archiválni: a ~ könyvtárat / dokumentumokat .

A parancsfájl futtatásához mentse a szövegfájlt az otthoni könyvtárába (vagy bárhol máshol is), és adjon meg megfelelő nevet, például biztonsági mentés-dokumentumok . Nincs szükség fájlnévkiterjesztésre. Lépjen ki a szövegszerkesztőből, és futtassa a fájlt a chmod + x paranccsal, például:

 chmod + x ~ / backup-my-docs 

Most futtathatja a parancsfájlt. Ha például a parancsfájl a munkakönyvtárban van, futtathatja azt a következővel:

 ./backup-my-docs 

Vagy ha az otthoni könyvtárban van, akkor bármelyik könyvtárból futtathatja a parancsot:

 ~ / Backup-my-docs