Új hozzászólás Aktív témák
-
Nyiscsák
aktív tag
Üdv.
Van egy scriptem csak nem tudom mi lehet a baja mert nem fut le! Ez lenne az:
#!/bin/sh
mit="/home/nyiscsak/Asztal/"
hova="/var/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -cZf $mit$OF $hovaHogy lehetne megoldani hogy paraméterben megadjam mit és hova mentsen? Egy kicsit zavaros nekem ez a történet
Köszönöm előre is!
-
Jester01
veterán
válasz Nyiscsák #651 üzenetére
Először is a -Z az nem gzip, mert az a kis z. Másodszor, az argumentumokat pont fordítva adtad meg. Harmadszor, ha legközelebb kérdezel legalább a hibaüzenetet légyszíves.
#!/bin/sh
mit="/home/nyiscsak/Asztal/"
hova="/var/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -czf "$hova$OF" "$mit"MOD: ja ha bemenő paraméterben akarod megadni, akkor értelemszerűen "$1" és "$2"
[ Szerkesztve ]
Jester
-
Nyiscsák
aktív tag
válasz Jester01 #656 üzenetére
Most már más hibával lép ki:
root@rpg-desktop:~/Asztal# ./rar.sh home/rpg/ home/rpg/Asztal/
tar: home/rpg/Asztal: a következő függvény meghiúsult: stat: Nincs ilyen fájl vagy könyvtár
tar: home/rpg/20100505-18\:00.tgz: a következő függvény meghiúsult: open: Nincs ilyen fájl vagy könyvtár
tar: A hiba nem hozható helyre: kilépés
tar: Child returned status 2
tar: Kilépés hibaállapottal a korábbi hibák miatt
root@rpg-desktop:~/Asztal# ./rar.sh /home/rpg/ /home/rpg/Asztal/
tar: A kezdő „/” eltávolítása a nevek elejérőlFogalmam nincs mi baja lehet!
Így néz ki most:
#!/bin/sh
OF=$(date +%Y%m%d-%H:%M).tgz
tar -czf "$1$OF" "$2" -
bambano
titán
válasz Nyiscsák #657 üzenetére
az, hogyha a dátumot bele akarod rakni a fájlnévbe, akkor csak olyan dátumformátumot használj, ami fájlnévnek is megfelel.
szedd ki belőle a kettőspontokat meg a hasonló karaktereket, a dátum maradjon kizárólag szám.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Jester01
veterán
válasz Nyiscsák #657 üzenetére
root@rpg-desktop:~/Asztal# ./rar.sh /home/rpg/ /home/rpg/Asztal/
tar: A kezdő „/” eltávolítása a nevek elejérőlItt ha egyéb üzenet nem volt, akkor ez sikeres volt. Az nem hiba, csak a tar szólt, hogy lecsapja a kezdő / karaktert, hogy ne abszolút elérési út legyen (ez kicsomagolásnál jól jön) A tgz fájl minden bizonnyal létrejött.
Jester
-
szunyog199
tag
Hali.
Irtam egy kisebb Shell scriptet csak egy problémám lenne vele a case szerkezettel.
A progi naggyából annyit takar hogy paraméterként megadott 4 számmal dolgozik.
A case-ben található "$ossz -gt 5" sehogy sem akar működni, szol minden áron azt ijra ki hogy az eredmény kisebb mint 5. Mi lehet a probléma? Köszönömossz=0
l=0
if [ $# -eq 4 ]
then
for v in $*
do
f=`expr $1 + $2`
k=`expr $f - $3`
ossz=`expr $k / $4`l=`expr $l + $v`
done
case $ossz in
0) echo "A végeredmény 0";;
"$ossz -gt 5" echo "A végeredmény nagyobb mint 5";;
*) echo "A végeredmény kisebb mint 5";;echo A paraméterben megadott számok összege: $l
else
echo nem adtál meg 4 parát.
fi
echo $ossz -
Jester01
veterán
válasz szunyog199 #661 üzenetére
Hát mert a case az nem úgy működik. Oda csak mintát lehet megadni. Használj további if-else szerkezetet. Mellesleg a lezáró esac is hiányzik.
Jester
-
bejmuller
aktív tag
Hello mindenki
Remélem nem halt ki teljesen a topic.
Az lenne a kérésem, hogy valaki segítsen ki egy SED paranccsal. A feladat a következő:"A parancssorban megadott állományok soraiból törölje ki a második és negyedik szót. A szavak csak betűket és számjegyeket tartalmaznak, az elválsztó karakter pedig a szóköz."
A shell script megírása megy, csak éppen a SED-del nem vagyok kibékülve.
Ha valaki tud, és van rá ideje, akkor segítsen, szépen kérem .Előre is köszi.
[ Szerkesztve ]
Az ornitológusoknak nincs jutalom a munkájukban. A madarak leszarják az embereket. :D
-
Shaele
csendes tag
Hello!
Remélem még nem halt ki teljesen ez a topic, a következő kérdésem lenne. Írnom kell egy scriptet amiben korlátlan számú paramétert megadhatok futáskor. A futáskor megadott első paramétert létrehozza mappaként (mkdir), a többit meg fájlként hozza létre és beleírja azt h hanyadikként lett létrehozva, meg még 2 sort (lényegtelen). A kérdésem az lenne, hogy hogyan tudom ezt megvalósítani egy for ciklussal (illetve benne egy if else gondolom, de hogy? ) -
bluetiger9
csendes tag
Sziasztok!
Írtam egy szkriptet, aminek az lenne a feladata, hogy megnyit egy fájlt az Excel Viewerben:
#!/bin/sh
a="'Z:"
b="'"
c=$a$1$b
`env WINEPREFIX="/home/bluetiger9/.wine" wine "Z:/home/bluetiger9/.wine/drive_c/Program Files/Microsoft Office/Office12/XLVIEW.EXE" $c`Azt szeretném elérni, hogy ha meghívom a szkriptet így:
/bin/script.sh "/elso konyvtar/masodik konyvtar/excel fajl.xls"
akkor hajtsa végre a kővetkező parancsot:
env WINEPREFIX="/home/bluetiger9/.wine" wine "Z:/home/bluetiger9/.wine/drive_c/Program Files/Microsoft Office/Office12/XLVIEW.EXE" 'Z:/elso konyvtar/masodik konyvtar/excel fajl.xls'
De ehelyett ha az elérési útvonalban van szóköz, akkor az Excel Viewer úgy értelmezi, mintha több fájl akarnák megnyitni.Amíg csak Z:$1 írtam a $c helyére addig az egyszerű elérési útvonalú fájlokra működött, de most már azokra se megy.
Szerintetek hol rontottam el?
-
lapa
veterán
hello world. van két parancsom, amiből az első egy ssh port forward, a második meg vnc lenne, ami az imígyen készült likon át távnézeget. röviden az a problémám, hogy nem tudom hogyan magyarázzam el a shell scriptnek, hogy az ssh parancs végrehajtása után (jelszó) a vnc parancsot a helyi gépen futtassa le.
ssh -L 5900:192.0.0.1:5900 -l juzer -p 22 192.0.0.1
xvncviewer -lowcolourlevel=1 -autoselect=0 localhostremélem érthető és kivitelezhető, amit szeretnék. köszi előre is.
-
Jester01
veterán
-
lapa
veterán
na küzdöttem egy kört ezzel a megoldással, és úgy néz ki ez még pontosan az, amit karácsonyra kértem.
a probléma annyi, hogy a tunnel megmarad a háttérben. tudom, hogy ez volt a feladat, így pontosítanék:
azt szeretném, hogy ha ráklikkolok egy ikonra, akkor gyöjjön fel egy terminálablak, és abban történjen meg tunnel bigyózás, meg a vnc elindítás. így akkor tudnám mi van és ctrl+c-vel meg tudnám szakítani, ha már nem kell.
persze még advancedebb lenne a dolog, ha a szkript megvárná, míg a vnc bezár, és akkor gyorsan bezárná a tunnelt.
mindenesetre elég lenne a látható ablakos motyó is.
gyengécske próbákat tettem gnome-terminal -x kapcsolóval, de hiába játszottam az ssh -f -fel nem akarta jól.
köszi a segítséget.
-
doc
nagyúr
csak most kapcsolodtam be a szalba, az elozmenyekbe csak gyorsan beleneztem, de ha azt a fo feladat, hogy terminalablakot feldobva tortenjen valami, akkor megcsinalhatod pl igy:
xterm -e 'wget http://prohardver.hu/index.html'
letolti az oldalt, kozben latod a progressbart, majd miutan vegzett, becsukodik
-
doc
nagyúr
xterm -e 'wget http://prohardver.hu/index.html && watch df -h'
nekem Ubuntu 10.4 alatt teljesen jol mukodik
ha valami olyan specialis parancsot/parameterezest hasznalsz hogy nem megy, akkor esetleg a ; (pontosvesszo) karakterekkel illetve zarojelezessel lehet probalkozni
MOD: ha nem megy, akkor masold ide a konkret parancssort, aztan megnezzuk
[ Szerkesztve ]
-
lapa
veterán
igen, azt meg megint elfelejtettem, hogy jelszót is kér...
itt a parancs(ok):
xterm -e 'ssh -L 5903:gep.homelinux.org:5904 -f -N -o ExitOnForwardFailure=yes -l juzer -p 11111 gep.homelinux.org && xvncviewer -lowcolourlevel=1 -autoselect=0 localhost::5903'
lehet, hogy ez csak akkor fog menni, ha kulcsokat csinálok mindenhez?
[ Szerkesztve ]
-
lapa
veterán
az, hogy az ssh -f a háttérben nyitva hagyja a tunnelt.
ha nem rakom bele az -f -et, akkor meg nem indítja a vnc-t.
az lenne a kívánatos, hogy csak addig van tunnel, amíg az vnc-t be nem zárom. még az is oké, ha ctrl+c-t kell nyomnom a végén, ha egyébként az indítás egy klikkből megy.
[ Szerkesztve ]
-
dabadab
titán
"nekem sima && elválasztóval nem ment a dolog."
Azert nem, mert a masodik parancsot csak akkor hajtja vegre, ha az elso futasa befejezodott (es nullat adott vissza), szoval ez igy tenyleg nem fog menni, mert az ssh addig fut, amig el a tunnel. Igazan gyors megoldast nem tudok ra javasolni, a maceras az lenne, hogy eloszor inditsd el a tunnelt a hatterben, vard meg, amig lesz valami (kiepul a tunnel vagy hiba miatt kilep az ssh) es utana inditsd el a vnc-t.
Egyebkent tunnelezeshez javaslom az autossh-t, ugyanis az ssh kapcsolatok meg szoktak halni. Fogalmam sincs, hogy miert, de elobb-utobb lehalnak.szerk: hoppa, a -f kimaradt nalam, akkor vissza az egesz
[ Szerkesztve ]
DRM is theft
-
doc
nagyúr
akkor egy ilyesmi esetleg:
xterm -e 'ssh root@192.168.1.151 & ( sleep 15 ; watch df -h)'
igy a masodik (zarojeles) blokk az elsovel parhuzamosan fut. vagyis az ssh bekeri a jelszot, kozben megy a 15 masodperces timer, es ha lejar, elindul a watch
igy nem kell a -f, viszont nem is megy backgroundba az ssh, vagyis ottmarad az ablak (bar az a vnc miatt gondolom amugy is maradna)
-
tomi0630
csendes tag
Sziasztok.
Olyan problémám lenne hogy a következő feladatot kaptam és gőzöm nincs hogy kezdjek neki. A feladat és a kritériumai:
A feladatnak működnie kell a gyakorlat során használt gépen. A feladatnak
nem szabad "szemetet" hagynia maga után. Az elkészített feladatnak meg
kell felelnie a feladat kiírásának. A hallgatónak tudnia kell válaszolnia a
feladattal kapcsolatban feltett kérdésekre.Az n 2 [0; 999] szám kiírása szövegesen. A feladat meghívása: arab2text n
Valaki tudna segíteni várom válaszát a következő email-re: tomi0630@vipmail.hu
Előre köszönöm a segítségeteket.
-
bambano
titán
válasz tomi0630 #683 üzenetére
azt tudd, hogy ez nem az "oldjuk meg mások házifeladatát" topic.
és azt is sejteni kellene, hogy a tanárok is ide járnak ellenőrizni.elkezdeni úgy kell, hogy elárulod, mi van a gyakorlat során használt gépen. majd olvasgatod a doksikat.
[ Szerkesztve ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Dalone
csendes tag
Hello!
Nekem egy (biztos elég) alap kérdésem lenne, mert még nem igazán sikerült belemélyednem a shell scriptekbe...
Azt kellene megállapítani, hogy a felhasználó által megadott adat az szám, vagy szöveg. Valaki tudna segíteni, hogy ezt melyik paranccsal tudom megtenni?
Előre is kösziDalone
-
rt06
veterán
Hi!
hogyan adok ossze bash-ben lebegopontos szamokat?
jelenleg igy probalom:
cpu_total=$(( $cpu_total + $cpu ))
es ezt kapom eredmenyul:
line 23: 0 + 48.99 : syntax error: invalid arithmetic operator (error token is ".99 ")Udv: VladimirR
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
bambano
titán
"The shell allows arithmetic expressions to be evaluated, under certain circumstances (see the let and declare builtin commands and Arithmetic Expansion). Evaluation is done in fixed-width integers with no check for overflow, though division by 0 is trapped and flagged as an error. "
szóval bashban sehogy. de ha felrakod a bc-t, akkor azzal egyszerűen lehet
cpu_total=$(echo -n "scale=3; $cpu_total + $cpu " | bc -l)
valahogy így, de nem próbáltam ki.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
rt06
veterán
Hi!
kozben keresgeltem es en is csak bc-s megoldasokat talaltam
aztan - mivel a korabban itt tanultak alapjan az egesz arra ment volna ki, hogy kevesebb fork legyen - sok bc helyett megoldottam inkabb egy awk-val
mindenesetre kosz a segitseget,
Udv: VladimirRPolitikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
lapa
veterán
csak a rekord kedvéért: az x11vnc a szerveren, valamint az ssvnc a kliensen megcsinálja ugyanezt. ubuntunál jó, hogy be sem kell hozzá jelentkezni, illetve hogy mind desktop sessiont át tud venni, mind másodlagosat indítani. a kliensről a kusztom ssh porton bemenni:
tsvnc juzer@szerver.hu:kusztomsshport
még tesztelem, de jónak ígérkezik.
-
j0k3r!
senior tag
hello!
most ismerkedek meg csak a bash-el, szoval valoszinuleg tartom, hogy eleg trivialis, amit kerdezek. a feladatom az lenne, hogy olyan scriptet irjak, ami 2 parameterben megadott file sorait megszamolja, aztan kiirja oket (egyutt a kettoet)
amim eddig van:
#!/bin/bash
i=`wc "$1" --l | cut -d ' ' -f1`
j=`wc "$2" --l | cut -d ' ' -f1`
k=i+j
echo kmi lehet a gond? elore is koszonom a segitseget.
some men just wanna watch the world burn...
-
rt06
veterán
i=$( wc "$1" --l | cut -d ' ' -f1 )
j=$( wc "$2" --l | cut -d ' ' -f1 )
k=$(( $i + $j ))
echo $kk=i+j tobb pontos in rossz
1: ez stringosszefuzes
2: ennek az eredmenye az "i+j" string lesz, nem pedig az i es a j valtozo (hianyzik a $ szimbolum) osszefuzesePolitikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
j0k3r!
senior tag
koszonom szepen, mukodik. kicsit furcsa nekem elso ranezesre ez a valtozo(?) kezeles, ertekedas, de majd megszokom. (sejtettem, hogy konkatenalja a stringeket, csak nem volt semmi output(ertekelheto), ezert nem voltam biztos benne)
some men just wanna watch the world burn...
-
j0k3r!
senior tag
hello megint!
valoszinuleg megint nagyon konnyut fogok kerdezni, de egyszeruen nem talalok konkret peldat a problemamra a neten.
csupan annyi kellene nekem, hogy hogy kell az ls-t ugy parameterezni, hogy csak az mp3 kiterjesztesu file-okat listazza ki.
a manualban ez van:
--file-type
likewise, except do not append '*'de hiaba probalgattam, sajnos nem megy.
ha valaki tudna segiteni, azt nagyon megkoszonnem.szerk: kozben meglett
ls *.mp3[ Szerkesztve ]
some men just wanna watch the world burn...
-
j0k3r!
senior tag
lehet, hogy megse jo igy...
ha benne vagyok az adott mappaban, akkor jo:
joker@joker-Unknow:/media/2890EC8D90EC6334/zene/Warpaint$ ls *.mp3 -lekkor csak az mp3-akat mutatja
de ha igy adom ki a parancsot:
joker@joker-Unknow:~/prog$ ls /media/2890EC8D90EC6334/zene/Warpaint *.mp3 -ligy mindent kilistaz + hibauzenet:
ls: cannot access *.mp3: No such file or directoryvalakinek valami otlet? elore is koszonom.
some men just wanna watch the world burn...
-
Yahoo
aktív tag
Sziasztok, épp a beadandóm gyártom a sulinak, már majdnem készen vagyok, de arra az istennek nem tudok rájönni, hogy az előzőekben már cut-tal megvágott ls -l listázásból megmaradt fájlnév részből (remélem érthető, tehát az ls -l parancs eredményéből csak a fájlnév rész kerül az stdoutra) hogyan tudom a kiterjesztést "kivágni", azaz az utolsó pont utáni részre lenne szükségem a teljes fájlnévből kizárólag. Tudna valaki segíteni? Köszönöm
[ Szerkesztve ]
-
dabadab
titán
sed 's/^.*\.\([^\.]*\)$/\1/'
Ez fogja a komplett sort (a ^ a sor eleje, a $ meg a sor vége), megkeresi benne a legutolsó olyan részt, ami egy pont után jön és nincs benne pont, és a cserével a komplett sort lecseréli erre a kis részre (a pontokat escape-elni kell, mivel az alapban joker karakter (ahogy az a legelső előfordulásakor látható is) meg a sima zárójeleket is, mert azokat alapból sima karakternek veszi a sed, a szögleteseket viszont nem, mert azok alapból kontrollkarakterek).
[ Szerkesztve ]
DRM is theft
Új hozzászólás Aktív témák
- Napelem
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Renault, Dacia topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Steam Deck
- Vezeték nélküli fejhallgatók
- Kipróbáltuk az LG kompakt 4K projektorát, a CineBeam Q-t
- Razer DeathAdder
- Fujifilm X
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen