![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Nyomtatási hiba meg a parancsot | Shribigb | Shell programozás és Scripting | 0 | 03-06-2009 06:08 PM |
| tar hiba kilépés késleltetett formában hozzáférhető hiba | chayato | Linux | 1 | 02-06-2009 12:07 AM |
| A KSH parancsot - Nyomtatás "ABC" is, hogy hiba | sagarjani | Shell programozás és Scripting | 2 | 10-08-2008 05:32 PM |
| Egyéni hiba oldal amikor tomcat hitelesítés sikertelen | sebagra | UNIX és Linux alkalmazásokhoz | 0 | 05-06-2008 06:10 PM |
| A parancs nem | a329743 | A UNIX a fejlett és szakértői Felhasználók | 1 | 10-05-2006 11:08 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Hogyan lehet a nyomtatási hiba és kilép, ha a parancs nem?
Srácok olyan tippeket adott nyomtatási hiba üzenetet stderr és felmondására a parancs nem egy ksh forgatókönyvet? Próbálom null egyes kimeneti fájlokat. Touch nem alkalmas, ahogy kell null őket. print ""> fájl nem alkalmas arra van szükség, hogy ellenőrizzék a elsehere, ha 0bytes vagy sem. Megpróbáltam az alábbi példákat és ezek egyike sem működik megfelelően. Nem akarom, hogy, hogy egy ellenőrzés minden egyes parancs után, mint: -- Kód:
if [[ $? -ne 0 ]];then print "error blah blah" >&2 exit 2 fi Alább vizsgálatok nem működik helyesen. Én vagyok az ívási kitalálni valamit. Kód:
OUTFILE=/tmp/out
# Null outfiles. Security already checked
> ${OUTFILE} || print "ERROR: blah blah \n" >&2 ; exit 2 #doesnt work
> ${OUTFILE} || (print "ERROR: blah blah \n" >&2 ; exit 2 ) #doesn't work
> ${OUTFILE} || (print "ERROR: blah blah \n" >&2 && exit 2) #doesnt work
if [[ -n "$(> ${OUTFILE} 2>&1)" ]];then
print "ERROR: blah blah \n" >&2
exit 2
fi # doesnt work
Any ideas, vagy ennek alternatíváit? |
|
||||
|
Pontosabban a jelentési és felmondására, ez egy kicsit több kondenzált idióma: Kód:
test $condition || { print "Crap blew up; exiting"; exit 2; }
Te is közvetlenül a vizsgálat eredménye a parancsot: Kód:
command || { print "Crap blew up; exiting"; exit 2; }
Élvezem, hogy az olvasás hangosan magamban a "vagy te ilyen vagy meghalsz!", Mintha threathening a forgatókönyvet. Last edited by EagleFlyFree; 04/23/2009 at 03:17 PM.. |
|
||||
|
Thanks dude thats dolgoztak, mint egy igézet. Úgy tűnik, én majdnem ott vagyunk, de nem a helyes () Meg tudná magyarázni a különbség a (és) () a parancs csoportosulás? Én is a notied; végén előtt) fontos, különben a következő parancs nem működik. pl Kód:
This works and exits if cant null but echos got to here if can.
> ${OUTFILE} || { print "ERROR: cannot null output file. Exiting\n" >&2; exit 2; }
> ${TMPFILE} || { print "ERROR: cannot null tmp file. Exiting\n" >&2; exit 2; }
echo "got to here"
This doesnt work and never gets to echo even if null is successful
> ${OUTFILE} || { print "ERROR: cannot null output file. Exiting\n" >&2; exit 2 }
> ${TMPFILE} || { print "ERROR: cannot null tmp file. Exiting\n" >&2; exit 2 }
echo "got to here"
|
|
||||
|
() Végrehajtja a nyilatkozatok egy új subshell, önálló állam. () Végrehajtja a dolgok jelenlegi shell. Példa: Kód:
(aVariable="hello"); echo $aVariable ez nem print "hello", mert a változó került be egy új, a Shell, amelynek állapota volt dobni, ha a () kifejezés véget. Gondolj változó korlátozásaitól C; változó él és hal meg benne a blokk, ahol már bejelentették. Kód:
{aVariable="hello"; }; echo $aVariable
ez kiírja, hogy "hello", mert a változó került az ugyanazon fiktív a következő nyilatkozatot. Ugyanaz a különbség, mint: Kód:
sh myScript.sh és Kód:
source myScript.sh Emellett igen, szükség van egy pontosvessző, hogy vessenek véget az utolsó, belül (); ez az, hogy a Shell nyelvtan fogalmát. Kedves, hogy hogyan tudod ezt sem: Kód:
if $condition; then $statements; fi vagy ennek segítségével newlines helyett pontosvesszőt külön szintaxist részből áll: Kód:
if $condition
then
$statements
fi
A bash man oldalon, akkor más () (és), mert a szavak helyett a metakarakterek, ami azt jelenti, hogy nem automatikusan jár szó szünetek. Feltehetően ugyanez vonatkozik a többi töltényhüvelyt. Last edited by EagleFlyFree; 04/23/2009 at 03:14 PM.. |
|
||||
|
Nem számít, én szeretlek yapping mintegy bash.
A man oldal hosszú, és ijesztő, de a film rajta egyszer-egyszer, te vagy köteles tanulni nagy tidbits mindig. A történelem és a részek kb readline különösen hideg, és már hasznos és szórakoztató alkalmazás. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|