Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Všeobecná podpora / Re:Příkazový řádek - skript
« Poslední příspěvek od simir20 kdy Včera v 22:38:35 »
Moc děkuju, za podrobný popis a užitečné rady a odkazy. Víceméně mi to už funguje, Uživatel zadá cestu do adresáře ve kterém se vyhledávají všechny skryté soubory (a adresáře) , potom zadá cestu cílového adresáře kde chce zálohu provést a pak pomocí příkazu: tar -czf $cilova_destinace/archiv.tar.gz $adresar_k_zaloze/*  zálohuji.
Tak to sice nějakou zálohu vytvoří, ale nevím jak to udělat tak aby to zazálohovalo ty skryté soubory.
Neví někdo jak to zapsat? Díky
2
Programování / Re:odebrani práva pro spuštění
« Poslední příspěvek od Matzke_Jennifer kdy Včera v 21:36:51 »
děkuji :) jinak davat pozor davame v hodine, ale nema to smysl, kdyz si "ucitel" tam dělá svoje a mluvi si k tomu sám pro sebe,.. tak z toho moc nepochytime, a navic ani neděláme nic společného se zadáním domacich ukolu.. bohuzel, musime si poradit sami, a jako nekdo kdo s tim nikdy nedelal, a neni mu to poradne vysvetleno, tak musime zadat o pomoc ty, kteri jsou ochotni nam pomoct  :) takzeeee, dekuji mockrat za odpoved! sama bych to proste nezvladla..
3
Všeobecná podpora / Re:Příkazový řádek - skript
« Poslední příspěvek od Roman Horník kdy 19. 11. 2017, 20:47:27 »
Hmmmmm… ne.
Nejdřív zjišťuješ, jestli byl zadanej parametr ($1). Pokud je prázdnej (""), tedy nebyl zadanej, pak se to zeptá a proměnná $slozka se naplní tím, co po výzvě zadáš, pokud jo, pak se nadefinuje proměnná $slozka z toho, co zadáš za příkaz. Jenže tady chybí zpětná kontrola, jestli to, cos zadal, není kokotina, jestli je to existující složka. Prostě za tím musí následovat:
while :
  do if [ -d "$slozka" ]
    then
      break
    else
      echo -ne "\n\e[1m'$slozka' NENÍ platná složka\nZadejte PLATNOU cestu prohledávané složky:\e[0m "
      read slozka
  fi
done


Je to de facto nekonečná smyčka, kterou přerušíš tím, že zadáš platnou cestu.

Dále, co je blbě na  echo -ne „Zadej cestu slozky“? Uvozovky. Nepoužívaj se český, ale anglický, tyhle: " "

Cyklus for máš kde? Nic těžkýho na tom není:

for soubor in $(find $slozka -type f,d -maxdepth 1 -name “.*“)
  do <něco, co bude pracovat s proměnnou $soubor>
done


Tady to znamená, že for spustí příkaz v $(příkaz) (lze použít i `příkaz`; obrácenej apostrof), kterej má ňákej výstup, tady sekvenci názvů souborů. Ty názvy jsou ve výstupu oddělený ňákým bílým znakem, mezerou, tabulátorem, nebo novým řádkem - definuje globální proměnná $IFS (interní oddělovač polí) - k tomu dále.
Takhle získáš do proměnný $soubor sekvenci názvů souborů, se kterou pak můžeš pracovat v regionu mezi do a done; co otočka v cyklu, to další název souboru v proměnný, dokud se nezpracuje poslední soubor v sekvenci, pak se cyklus ukončí a pokračuje další část skriptu za ním.

Příklad:
for cislo in 0 1 2 3 4 5 6 7 8 9 A B C D E F
  do echo "$cislo"
done

neboli:

for cislo in {0..9} {A..F}
  do echo "$cislo"
done


Protože echu postupně sypeš čísla a písmena v pořadí, v jakým jsi je zadal, vypíšou se pod sebe čísla 0-9 a písmena A-F (tady nelze bohužel míchat čísla a písmena, proto jsou zvlášť).
Do toho cyklu použiješ to, na co jsem Ti dal odkaz, jak přidávat soubory do archívu.
No a ještě k tomu IFS - protože názvy souborů můžou obsahovat mezery, je dobrý IFS předefinovat, protože jinak soubor "Můj skript.sh" se bude považovat za dva (neexistující), za "Můj" a "skript.sh", protože mezera mezi nima je považovaná jako separátor. Takže hned pod hlavičku si přidej:
IFS="\n"
… a jako separátor se bude považovat jen novej řádek. Tabulátor je mimochodem \t

Důrazně Ti doporučuju mít imrvére spuštěnej terminál a zkoušet si to v něm, prostě si s ním hrát, protože to zjevně neděláš a díky tomu vůbec nevíš, která bije. Taky si pročti tohle. Je to hodně šikovnej návod pro skriptování v BASHi, začátečnický i dost pokročilý, kde je mrtě funkčních příkladů. Je to sice anglicky, ale u programování je znalost angličtiny potřeba, protože ty příkazy jsou zpravidla anglický slova, nebo zkratky. Dá se i stáhnout.

Když se budeš snažit, když si s tím budeš hrát, tak se to naučíš. Není to kravina, kterou bys v životě neupotřebil, jako třeba učivo z občanky, kde je to poslední dobou samá eurosvazácká propaganda a óda na multikulturalismus, ekoterorismus a homofilii. Skriptování ber jako stavebnici, kde z vhodně vybranejch a poskládanejch primitivních dílků můžeš postavit něco velkýho, tak velkýho, kam až sahá Tvoje vědomí a možnosti stroje.
4
Všeobecná podpora / Re:Příkazový řádek - skript
« Poslední příspěvek od simir20 kdy 19. 11. 2017, 19:35:44 »
Děkuji, zkoušel sem to nějak splácat, ale bohužel moc tomu nerozumím. Mohlo by to být nějak takhle?
Kód: [Vybrat]
#!/usr/local/bin/bash
if  [ “$1“ == ““ ]
 then
 echo -ne „Zadej cestu slozky“
 read slozka
 else
 slozka=$1
fi

find <slozka> -type f,d -maxdepth 1 -name “.*“

 tar -czf archiv.tar.gz /cesta_k_souborum/*

5
Všeobecná podpora / Re:Příkazový řádek - skript
« Poslední příspěvek od Roman Horník kdy 19. 11. 2017, 17:36:54 »
Velmi stručně - find <složka> -type f,d -maxdepth 1 -name ".*" znáš? Vyhledá ve složce bez rekurze (nebude hledat do hloubky, uvidí jen to, co je v definovaný složce) skrytý (začínaj tečkou) soubory (-type f) a složky (-type d). Takový soubory a složky můžeš následně přidávat do archívu. To celý můžeš zabalit do cyklu for. Kontrola, protože se vyhledanej soubor (složka je ve skutečnosti taky soubor) ihned přidá do archívu, nebude nutná, leda by měl ultrajepičí život.
Jak zadat cestu? Inspiruj se tady. Jak postupně přidávat soubory do archívu? Zde.
Tvou práci můžu zkontrolovat, samozřejmě bez známkování.
6
Programování / Re:odebrani práva pro spuštění
« Poslední příspěvek od Roman Horník kdy 19. 11. 2017, 17:22:23 »
Bóóóóóóóže, tak nakonec budu dělat domácí úkoly, a to zřejmě pro 3 žáky jedný konkrétní školy (a možná třídy), protože během vyučování dělaj cokoliv jinýho, než aby dávali pozor a látku se snažili pochopit  :o
Dyť něco podobnýho už chtěla dirtyqeen, akorát tam se jednalo o nalezení souborů se shellovou hlavičkou, kontrolu spustitelnosti, která, když vyšla negativně, příznak spustitelnosti se tomu konkrétnímu souboru přidal.

Takže zase - vemeš si find a vyhledáš v zadaný složce do požadovaný hloubky spustitelný soubory (viz man find) a na každej z nich aplikuješ chmod -x, čímž jim odebereš spustitelnost. Celý to můžeš zabalit například do cyklu for.
Protože jsem předchozí skriptík dost okomentoval, nemělo by to bejt vůbec těžký, jsou tam taky dokonce 2 možnosti zadání cesty. Nicméně, když ňákej konkrétní krok nebudeš vědět, stačí se zeptat. Výsledek můžeš pro revizi hodit sem.
7
Programování / odebrani práva pro spuštění
« Poslední příspěvek od Matzke_Jennifer kdy 19. 11. 2017, 16:44:32 »
Ahoj, dostal jsem za ukol:

odebrani práva pro spusteni. uzivatel po spusteni sktipru zada cestu k adresari, ve kterem se vyhledaji vsechny spustitelne soubory. Nasledne se toto pravo odebere. Soucasti rese ni bude kontrola platnosti cest a zobrazeni textove informace o prubehu cinnosti.

Jen nevím upřímně jak na to.. Byl by tu někdo tak hodný a pomohl mi? či napsal přímo jak na to ? :/

Děkuji předem
8
Všeobecná podpora / Příkazový řádek - skript
« Poslední příspěvek od simir20 kdy 19. 11. 2017, 09:28:51 »
Ahojte,
Potřeboval bych pomoct s úkolem prosím. Zadání zní vytvořit skript:
"Zálohování (tar + gz) skrytých souborů. Uživatel zadá cestu do adresáře ve kterém se vyhledávají všechny skryté soubory (a adresáře) a zazálohují se na uživatelem definované umístění. Součástí řešení bude kontrola platnosti cest a zobrazení textové informace o průběhu činnosti."

Našel jsem že k zálohování by se mohl užít příkaz tar -czf nazev.tar.gz /cesta k souboru/* ale nevím jak to všechno nabouchat do toho skriptu aby to splňovalo zadání. Děkuju za pomoc
9
Všeobecná podpora / Úprava instalace
« Poslední příspěvek od tribalcz kdy 17. 11. 2017, 14:10:43 »
Zdravím, potřeboval bych upravit instalaci debianu. přidat nějaké balíčky.  Dokázal by někdo poradit jak na to?
10
Volná diskuze / Re:Vypadla pružinka z tiskárny. Tip kam s ní? PP1350W
« Poslední příspěvek od Tre kdy 13. 11. 2017, 13:43:02 »
Tak jsem to vyřešil, pružinka patří na cartige, jsou tam dvě, nechápu, že jsem to přehlédl. Tak jsem objevil i zdroj špinění.
Stran: [1] 2 3 ... 10