Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Verzia 1:Používanie iba vstavaných škrupín (bash)
Táto verzia je prenosnejšia, pretože sa spolieha iba na funkcie spoločné pre väčšinu škrupín kompatibilných s Bourne. Je však menej efektívny pre veľmi veľké množstvo kvôli manipulácii s reťazcami.
`` `Bash
#!/bin/bash
prečítať -p "Zadajte číslo:" num
reversed_num =$ (echo "$ num" | rev)
ak ["$ num" =="$ reversed_num"]; potom
Echo "$ num je palindróm."
inak
Echo „$ num nie je palindróm“.
FI
`` `
Verzia 2:Používanie AWK (efektívnejšie)
Táto verzia používa „awk“, ktorá je vo všeobecnosti efektívnejšia pre numerické manipulácie, najmä s väčším počtom.
`` `Bash
#!/bin/bash
prečítať -p "Zadajte číslo:" num
awk -v num ="$ num" 'začatie {
reversed_num ="";
temp_num =num;
while (temp_num> 0) {
reversed_num =reversed_num (temp_num % 10);
temp_num =int (temp_num / 10);
}
if (num ==reversed_num) {
Tlač čísla "je palindróm."
} else {
Tlač NUM "nie je palindróm."
}
} '
`` `
Ako používať buď skript:
1. Uložte kód ako súbor (napr. „Palindrom.sh`).
2. Urobte z neho spustiteľný:`chmod +x palindrome.sh`.
3. Bežte to:`./Palindrom.sh`.
4. Po výzve zadajte číslo.
Vysvetlenie verzie 2 (AWK):
* `-v num =" $ num "`:odovzdá vstupné číslo z premennej shell `num` do skriptu` awk`.
* `Begin`:Tento blok vykoná pred spracovaním akýchkoľvek vstupných riadkov.
* `reversed_num =" ";`:Inicializuje prázdny reťazec na uloženie obráteného čísla.
* `temp_num =num;`:Vytvorí dočasnú kópiu čísla, aby sa zabránilo úpravám originálu.
* `while (temp_num> 0)`:slučky, kým sa dočasné číslo nestane 0.
* `reversed_num =reversed_num (temp_num % 10);`:Extrahuje poslednú číslicu pomocou operátora modula (` %`) a pripomína ho k `reversed_num`.
* `temp_num =int (temp_num / 10);`:Odstráni poslednú číslicu celočíselným delením (` /`).
* Výpis Final `if` porovnáva pôvodné a obrátené čísla a vytlačí príslušnú správu.
Verzia „Awk`“ sa všeobecne odporúča pre svoju účinnosť, najmä pri riešení väčších čísel. Vyberte verziu, ktorá najlepšie vyhovuje vašim potrebám a prostrediu škrupiny. Nezabudnite zvládnuť potenciálne chyby (ako je neočiaci vstup) pre robustnejší skript vo výrobnom prostredí.