Hirdetés

2019. február 20., szerda

Gyorskeresés

Hozzászólások

(#251) GD válasza snowflake (#250) üzenetére


GD
(PH! addikt)

köszi a választ

(#252) GD


GD
(PH! addikt)

vmi elböktem, a script nem tolja bele a php-ba a kívánt dolgot

#!/bin/sh
raid=`/sbin/mdadm --detail /dev/md0 | grep ''Failed'' |cut -c19`
if test $raid -eq 0
then
echo ''a Raid1 tömb (/dev/sda+ /dev/sdb) *samsung vinyók* HIBÁTLAN!!!''
ok=`echo ''A Raid tömb hibátlan (sdb+sdc''`
else echo ''valami nem OK!!!''
nemok=`echo ''RAID HIBA!!!''`

phpinfo=`cat /var/www/php/index.php | sed -n '2p'`
if test $raid -eq 0
then sed 's/$phpinfo/$ok/g'
else sed 's/$phpinfo/$nemok/g'
fi
fi


mit néztem be? :U
az if-ek igazítva vannak csak a hsz szétbaxxa..

[Szerkesztve]

[Szerkesztve]

(#253) Jester01 válasza GD (#252) üzenetére


Jester01
(PH! kedvence)

A sed hívást. Mit is akarsz csinálni?

Jester

(#254) Szolid


Szolid
(újonc)

Boccs sztem rossz helyre írok..

Az lenne a kárdésem h hogyan lehet azt hogcsinálni Visual Basic-ben hogy csinálsz hat gombot és csak az lessz aktív aminél egy előtte levő mező Connecting-re van állítva?
A Progi Microsoft Sccess 2003-ba kéne és még annyit h a gomp egy másik űrlapot nyit veg

(#255) GD válasza Jester01 (#253) üzenetére


GD
(PH! addikt)

az index.php 2. sorát cserélni az adott változókkal
azaz amit az echo is kiírna az alap if függvényben

(#256) Jester01 válasza GD (#255) üzenetére


Jester01
(PH! kedvence)

Ezt szerintem két apró módosítással lehet a legegyszerűbben.
Először is, az ''ok'' és ''nemok'' helyett inkább egy ''statusz'' változót alkalmaznék.
Másodszor, ha jól értem az index.php-t módosítani akarod. Ehelyett én csinálnék egy minta fájlt, és abból gyártanám az index.php-t. Legyen ez a fájl index.php.in, ennek a második sorát fogjuk lecserélni, oda írhatsz is valami erre utaló megjegyzést.

A kód pedig ezekután igen egyszerűen így nézhet ki:
sed ''2c\\$statusz'' </var/www/php/index.php.in >/var/www/php/index.php

Jester

(#257) GD válasza Jester01 (#256) üzenetére


GD
(PH! addikt)

köszönöm, megpróbálom összehozni, ha nem megy majd visítok :R

(#258) GD


GD
(PH! addikt)

igazából a sednek a változókkal való kapcsolatáról nem találtam még írást
alap példák mindig vmi ''echo 12345abcde'' | sed (kapcsolók).... alapján tanultam

amire támaszkodom shell script ügyben az a büki andrás: linux héjprogramozás c. könyve

(#259) Jester01 válasza GD (#258) üzenetére


Jester01
(PH! kedvence)

A sed egyáltalán nem törődik a shell változókkal. Alapesetben kap egy ''programot'' és az stdin-ről (vagy fájlokból) olvasva az stdout-ra ír. A változóhivatkozásokat még a shell feloldja mielőtt a sed megkapná.

Egy apró érdekes illusztráció ebben a témakörben az ''echo *'' parancs. Természetesen nem az echo tanult meg fájlokat listázni.

Jester

(#260) GD válasza Jester01 (#259) üzenetére


GD
(PH! addikt)

szorgos magántanulókat nem vállasz? .-)
természetben fizetek...
SÖR :C

(#261) GD válasza Jester01 (#259) üzenetére


GD
(PH! addikt)

jelentem az a megoldás született:



#!/bin/sh
raid=`/sbin/mdadm --detail /dev/md0 | grep ''Failed'' |cut -c19`
if test $raid -eq 0
then
echo ''a Raid1 tömb (/dev/sda+ /dev/sdb) *samsung vinyók* HIBÁTLAN!!!''
statusz=''A Raid1 tömb OK''
echo ''<?php print (''\''$statusz''\''); ?>'' >/var/www/php/index.php

else
echo ''valami nem OK!!!''
statusz=''ERROR''
echo ''<?php print (''\''$statusz''\''); ?>'' >/var/www/php/index.php
fi


mostmár csak cron-olni kell meg vhogy azt kivédeni hogy ne maradjon a böngésző cache-be és mutassa a nem valós állapotot...

továbbá, egy kis html-el feldobni... mert így elég fapados...
erre ötlet?

nagyobb betűk, szín, stb... html-hez nem értek
de megtalálom google, inkább a kivitelezés érdekel
gondolom egy fix html kódba kellene fix helyre betolni az adott php sort..

[Szerkesztve]

(#262) Jester01 válasza GD (#261) üzenetére


Jester01
(PH! kedvence)

A beszúrásra írtam a példát a #256-ban, az html-el is működik ha teljes sort akarsz cserélni.

#260: free online support over msn ;)

Jester

(#263) Batman


Batman
(őstag)

Hali!

Nem tudtok valami tenyleg értelem scriptelos oldal címet adni, amibol lehet tanulni.
Tenyleg nem vagyok nay programozó és most már órák ota szivok egy kis aprosággal.

Annyit szeretnék írni, hogy egy adott mappát , végignéz és egy másik könytárba létrehoz egy-egy fájlt az átvizsgált mappák könyvtárneveivel.

Na én még azzal szivok , hogy megírjam azt a resz ami vegignézi az adott könyvtárat ,hogy van e benne könyvtár vagy nincs.

Minden segítséget szivesen veszek.köszi

A Rák ellen az Emberért a Holnapért! - "..ez csak azt bizonyítja, hogy a Firefoxtól maximum a pöcsöd érzed nagyobbnak, de ugyanolyan hüje maradsz a számítógéphez..." by moonman

(#264) GD válasza Batman (#263) üzenetére


GD
(PH! addikt)

Büki András - Unix/Linux héjprogramozás ,talán van belőle ''e-book'' is.. mellesleg a könyv se drága, kb 2500 huf
továbbá a szerző cikkei a linuxvilág oldalán az archivumokban
azért nem olyan olvasmányos mint a szépirodalmi könyv... jegyzetelni kell belőle, meg közben csinálni a konzolban...de nem bántam meg hogy megvettem

(#265) &rew


&rew
(PH! addikt)

hali,

ezt a kimenetet:
5-Dec-2006::09:13:33
kene atalakitani ugy (sed-del/awk-val), hogy utana mondjuk a 'sort' helyesen rendezze. (gondolom a honapokat at kell irni szamokra kozben, de awk ugyis tud indexelni sztringgel)

koszi,
&rew

(#266) &rew válasza &rew (#265) üzenetére


&rew
(PH! addikt)

sed 's/-/ /g' | sort -M -k2

(#267) &rew válasza &rew (#266) üzenetére


&rew
(PH! addikt)

sokkal szebb:

sort -M -t- -k3,3n -k2,2 -k1,1n

(#268) GD


GD
(PH! addikt)

üdv!
adott mappában található összes filenévben a space-t _-ra cserélő script kellene
annyit tudok hogy a sed 's/ /_/g'

ennyit barkácsoltam de nem igazán megy a debug, gondolom úgy rossz ahogy van .-)

for i in *.*
do
mv $i (echo$i |sed 's/ /_/g')
done

ettől biztos lesz jobb működő megoldás is, awk is jöhet, perl, vagy bash, lényeg hogy rövid, átlátható legyen még nekem is :-))

(#269) doc válasza GD (#268) üzenetére


doc
(PH! nagyúr)

jónak tűnik :)
ami nem kell, az a *.* helyette használj simán *-ot, mert így csak azokat a file-okat találja meg aminek a nevében van pont
vagy ha a ponttal kezdődőek is kellenek, akkor

for i i n * .*

MOD: hopp most látom a zárójelet, helyette a ` jelet használd (altgr+7)
tehát így:

for i in *
do
mv $i ` echo$i | sed 's/ /_/g' `
done

[ Szerkesztve ]

1N23456.HU - A Veszprém megyei motorkölcsönző

(#270) GD válasza doc (#269) üzenetére


GD
(PH! addikt)

tnx!
dob egy ilyet:

rename: line 4: echofilm cime.6.avi: command not found
mv: hiányzik a célfájl-operandus a következő után: "Puma.Black-Semen.Shots.6.avi"
Próbáld a "mv --help"-et.

[ Szerkesztve ]

(#271) GD


GD
(PH! addikt)

á, dehogy, nem pornógyűjteményt rendezgetek..höhö
magát a scriptet az adott könyvtárból próbálom futtatni, ez lehet gond?
echo környékén idézőjel?

[ Szerkesztve ]

(#272) GD


GD
(PH! addikt)

rename 's/ /_/g' *

ez működik! vmi perl cucc..

érdekelne azért hogy a bash script mitől nem..

(#273) doc válasza GD (#270) üzenetére


doc
(PH! nagyúr)

az echo és az utána levő $i egybe van írva

1N23456.HU - A Veszprém megyei motorkölcsönző

(#274) GD válasza doc (#273) üzenetére


GD
(PH! addikt)

mv: a megadott cél ("akarmi_valami.wmv") nem könyvtár
mv: "renm" és "renm" ugyanaz a fájl

renm=a script

(#275) doc válasza GD (#274) üzenetére


doc
(PH! nagyúr)

ja várjál, neked space van a filenévben
akkor rakd idézőjelbe a változót, tehát mv "$i" blablabla

1N23456.HU - A Veszprém megyei motorkölcsönző

(#276) GD válasza doc (#275) üzenetére


GD
(PH! addikt)

bingó. ,műxik! (hajlongós smiley)
annyival kellene még felturbózni hogy:
alkönyvtárakban lévő fileokra is megcsinálja x mélységben ha lehet egész a padlóig
(vigyorgós szmájlí)

(#277) doc válasza GD (#276) üzenetére


doc
(PH! nagyúr)

find -exec mv "{}" `echo {} | sed 's/ /_/g'` \;

azért próbáld ki "kicsiben" mielőtt ráuszítod több ezer file-ra :D

[ Szerkesztve ]

1N23456.HU - A Veszprém megyei motorkölcsönző

(#278) GD válasza doc (#277) üzenetére


GD
(PH! addikt)

sajnos az alkönyvtárakra nincs hatása

#!/bin/sh
for i in *
do
#mv "$i" `echo $i | sed 's/ /_/g'` #csak kvt-on belül
find -exec mv "{}" `echo {} | sed 's/ /_/g'` \;
done

(#279) doc válasza GD (#278) üzenetére


doc
(PH! nagyúr)

nem kellett volna berakni a for-ba, a find végiggyalogol a könyvtárszerkezeten :)
de valamiert tenyleg nem jo
akkor csinald kicsit "parasztabb" modszerrel :D
csinalsz egy futtathato file-t, mondjuk rendez.sh neven a kovetkezo tartalommal:

#!/bin/sh
mv "$1" `echo $1 | sed 's/ /_/g'`

ez ugye annyit csinál, hogy a paraméterben adott file-t átnevezi szóköz nélkülire

aztán ezt kell meghívni minden file-ra:

find -exec ./rendez.sh {} \;

ugyan nem atnevezessel, hanem sima echo-val, de nekem mukodik

Ui: vajon miert nem tudja vegrehajtani a find a shell fuggvenyeket? sokkal szebb lenne...

1N23456.HU - A Veszprém megyei motorkölcsönző

(#280) GD válasza doc (#279) üzenetére


GD
(PH! addikt)

köszi, teljesen jól működik, nem is parasztos nekem.-)
kérdés:
a meghívás minden file-ra eljárás végén a {}\; milyen szerepet tölt be?

[ Szerkesztve ]

(#281) GD


GD
(PH! addikt)

man find .-))
-exec command ;
Végrehajtja a command parancsot. Értéke igaz, ha a parancs 0 státuszt ad vissza. A következő `;'-ig a find minden
argumentumát a parancs argumentumának veszi. A `{}' string az aktuálisan feldolgozás alatt álló fájl nevével
helyettesítődik. Ezen szerkezeteket esetlegesen meg kell védeni (a `\' használatával) attól, hogy a burok kifejtese
őket. A parancs végrehajtása a kiindulási könyvtárból történik.

(#282) sto1911


sto1911
(PH! kedvence)

Udv!

Gyorsban szeretnem megkerdezni, hogy hogyan tudom eldontetni bashben egy valtozorol, hogy numerikus-e?

Tehat a prog beker 2 valtozot, meg kell vizsgalni, hogy nagyobbak-e mint 0, es hogy egyaltalan numerikus ertekek-e.

(#283) doc válasza sto1911 (#282) üzenetére


doc
(PH! nagyúr)

így hirtelen az jutott eszembe, hogy ha megpróbálsz vele matekműveleteket végezni, pl.hozzáadni, akkor mi jön ki
pl:

A=5; echo $((A+1))

eredménye 5, ha az A nem szám. bár akkor is ha 0

1N23456.HU - A Veszprém megyei motorkölcsönző

(#284) sto1911


sto1911
(PH! kedvence)

Nincs erre valami fuggveny?

(#285) sto1911 válasza sto1911 (#284) üzenetére


sto1911
(PH! kedvence)

Jelenleg itt tartok, erre viszont a szam1 szam2 sorok dobnak hibat, es ezt kellene lekezeltetnem vele vhogy.

a=$1
b=$2

szam1=$((a*1))
szam2=$((b*1))

if [ $szam1 -eq $a ] && [ $a -ne 0 ] && [ $szam2 -eq $b ]
then echo A=$a B=$b
else echo "$a vagy $b nem szam vagy A=0"
exit 1
fi

(#286) doc válasza sto1911 (#285) üzenetére


doc
(PH! nagyúr)

a=$1
b=$2

szam1=$((a*1))
szam2=$((b*1))

if [ "X$szam1" == "X$a" ] && [ "X$a" != "X0" ] && [ "X$szam2" == "X$b" ]
then echo A=$a B=$b
else echo "$a vagy $b nem szam vagy A=0"
exit 1
fi

1N23456.HU - A Veszprém megyei motorkölcsönző

(#287) sto1911 válasza doc (#286) üzenetére


sto1911
(PH! kedvence)

A nagy X-ek mit csinalnak? 16-os szamrendszer?
Mindjart megnezem muxik-e.

[ Szerkesztve ]

(#288) sto1911 válasza sto1911 (#285) üzenetére


sto1911
(PH! kedvence)

Javitom magam, nem ugy dobnak hibat, hogy nem helyesek, hanem ugy, h futas kozben kiirja, h numeric argument nincs neki v hasonlo :) Tehat maga a kod helyes.

(#289) doc válasza sto1911 (#287) üzenetére


doc
(PH! nagyúr)

nem, az azért kell mert ha a string üres, akkor a feltétel pl. így nézne ki:

if [ == ]

így viszont üres stringnél ez lesz:

if [ X == X ]

[ Szerkesztve ]

1N23456.HU - A Veszprém megyei motorkölcsönző

(#290) sto1911 válasza doc (#289) üzenetére


sto1911
(PH! kedvence)

bambano: bash tud pattern matching-et digit-re.

Akkor egy olat tudnal irni? barmennyi szamjegy lehet benne, de betu vagy mas irasjel es szokoz nem.
En ilyenre gondoltam:

if [ $a=[0-9]* ] then ...

csak ez vmiert nem muxik jol, valamint integer expression expected hibat ad, ha nem numerikus erteket kap (mondjuk ez ertheto, csak ezt nem rendszeruzenetkent kellene neki kiirni, hanem a programbol. Es ugyanez a problema doc megooldasaval is :()

[ Szerkesztve ]

(#291) sghc_toma válasza sto1911 (#290) üzenetére


sghc_toma
(őstag)

így működik:

if [[ $a == [0-9]* ]]; then
echo $a is a number.
fi

in asm we trust

(#292) sto1911 válasza sghc_toma (#291) üzenetére


sto1911
(PH! kedvence)

Koszonom, vegulis beadtuk, irt neki a tanar, hogy "jo, keress majd meg" :D A fejlemenyeket majd megirom :)

Amugy amit bekuldtunk az vegulis ez lett:

if [ $# -ne 2 ]
then
echo 2 parameter szukseges!
exit 1
fi

if echo $1|grep '^[0-9]*[0-9]$' > /dev/null
then
if echo $2|grep '^[0-9]*[0-9]$' > /dev/null
then
if [ $1 -ne 0 ]
then echo X=`expr -$1 / $2`
else
echo Hiba, A nem lehet 0.
exit 1
fi
else echo B nem szam.
exit 1
fi
else
echo A nem szam.
exit 1
fi
exit 0

(#293) GD


GD
(PH! addikt)

üdv!

kérdésem:

egy lefutó script kinyesné a mdadm --detail /dev/md0 kimenetéből hogy working devices "2"
azaz a kettőt
ekkor egy if kiírja ha 2=örül raid jó, ellenkezőleg nemörül, vmi gáz
ezt az eredményt eltárolnám egy változóban és át szeretném adni egy raid.hmtl vagy raid.php-nek
ergo, a weben az utoljára lefutott script által felvett változó érték kerüljön
ez utóbbival nem vagyok képben:

hogy adok át egy változót egy másik filenak?
gondolok ">"-re vagy sed-re, de hogyan találja meg a pontos helyét a html-ben az már nem teljesen világos, azaz, honnét fogja tudni hová kell beillesztenie a változót

remélem érthető voltam, ha zavaros akkor leírom máshogy is .-)

(#294) sghc_toma válasza GD (#293) üzenetére


sghc_toma
(őstag)

php-ben: $output=`script`

in asm we trust

(#295) GD válasza sghc_toma (#294) üzenetére


GD
(PH! addikt)

nem pontosan értem hogy gondolod

(#296) sghc_toma válasza GD (#295) üzenetére


sghc_toma
(őstag)

írtál egy script-et, ami megcsinálja a kívánt feladatot. legyen a neve mondjuk "checkraid".. a következő tartalmú raid.php lefuttatja a scriptet, majd kiírja az output-ját:

<html>
<head>
<title>CheckRaid</title>
</head>

<body>
<?php echo `checkraid` ?>
</body>
</html>

in asm we trust

(#297) GD válasza sghc_toma (#296) üzenetére


GD
(PH! addikt)

így már világos, köszönöm

(#298) GD


GD
(PH! addikt)

valami még nem oké, nem vesz át a bash scriptet a php

mindkettő a /var/www-ben, futási joggal

még a nyers verzió

raid file tartalma:

#!/bin/sh
echo `mdadm --detail /dev/md0 |grep "Working" |cut -c19`

raid.php pedig amit te írtál csak `raid` néven,de egy üres oldalt kapok, holott egy 2-esnek kellene lennie benne

[ Szerkesztve ]

(#299) sghc_toma válasza GD (#298) üzenetére


sghc_toma
(őstag)

raid helyett írj ./raid-et!
vagy legyen a raid elérési útja a $PATH környezeti változóban..
vagy használj safe mode-ot, `` helyett exec()-et, és legyen a raid a safe_mode_exec_dir-ben..

[ Szerkesztve ]

in asm we trust

(#300) ngabor2


ngabor2
(PH! nagyúr)

üdv guruk.

itt egy kérdés. én nulladik körben ezt válaszolnám:

find . -type f | grep mp3$ | \
xargs lame --mp3input --cbr -b 128 '{}' conv/'{}'

1 baj biztos, hogy van vele, tapasztalatom szerint a lame nem fogja szeretni a conv/./akárni típusú path-ot. én kevesebb file-lal, másként, nagyon nem elegánsan oldottam meg ezt a problémát, de azt nem írnám be. ötletek?

(csak azért törtem a sort, hogy mindent lehessen látni)

esetleg

find . -type f | grep mp3$ | \
xargs lame --mp3input --cbr -b 128 '{}' tmp.mp3 && \
mv tmp.mp3 conv/'{}'

[ Szerkesztve ]

Copyright © 2000-2019 PROHARDVER Informatikai Kft.