![]() |
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.
|
|
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 |
| [C] fgets probléma SIGINT singlal! | hurricane86 | Magas szintű Programozás | 1 | 01-02-2009 12:04 PM |
| áthárításán változó a bash, hogy a bash perl script | arsidh | Shell programozás és Scripting | 10 | 06-04-2008 01:25 PM |
| A probléma kezelésével SIGINT | JamesGoh | Magas szintű Programozás | 3 | 02-24-2008 10:39 PM |
| Nem fogás SIGINT soros szünet, míg a feltétel bekövetkezik | gzz | Magas szintű Programozás | 13 | 11-23-2007 08:06 AM |
| AIX elfogó rendszer hívások | ramkumar.pvs | AIX | 2 | 09-29-2006 03:17 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Lehallgatja SIGINT egy bash script
Már írt egy bash script, amely méri a videót DVgrab. Jellege miatt a szalagok, hogy én vagyok digitalizálására, néha akarok lépni befogására előtt az idő, hogy én meg a DVgrab. Amikor ez az eset áll fenn az I. nyomjuk meg a Ctrl-C és DVgrab kijáratainak tisztán, a probléma az, hogy nincs további információ, hogy a szkript kiírja a terminál a "echo", ha a szkript fut, amíg a meghatározott idő. Amikor a Ctrl-c sem ezt az információt nyomat ...
Van úgy, hogy a lehallgatott SIGINT (azt hiszem, ez az, amit akarok, de lehet hogy nincs igazam), és úgy működnek, ahogy ez az alapértelmezett, de emellett néhány echo varibles a terminál? Elsősorban azt szeretném, hogy ez csak az én script ... és nem hatás, ahogyan a Ctrl-C rendszer funkciók széles. Nem biztos, ha az ügy, hanem az én olvasat előtt ez a poszt nem voltam biztos benne, de én vezetem ezt a szkript egy virtuális terminált a gnome az Ubuntu (8.10) Linux gép A kicsit, hogy én akartam felvenni, amikor a Ctrl-C nyomni így néz ki: Kód:
echo -e "\E[31;40m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" echo "+ Warning - Capture Ended Early +" echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" echo -e "\E[30;47m++ Format: $FORMAT ++ Min Remaing on $destination : $minremain " echo "++ Deck: $deck_number ++ Customer: $customer " echo "++ Rec Time: $tape_length ++ Tape: $tapename" -Starcast |
|
||||
|
Én a vége így néz ki, de azt adta, amit szükséges, hogy ott, kösz.
Kód:
#!/bin/bash trap 'echo -e "\E[31;40m\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n + WARNING - Early Exit +\n ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\E[30;47m\n ++ Format: $FORMAT ++ Min Remaing on $destination : $minremain \n ++ Deck: $deck_number ++ Customer: $customer \n ++ Rec Time: $tape_length ++ Tape: $tapename"' 0 |
|
||||
|
Igen, látom, hogy .... Most elkészült a 2 óra szalagot, és a figyelmeztető poped futott fel, miután a teljes allokálandó időt és kilépett rendesen ...
Megváltoztattam az -2 - a -0 - csak találgatás, és azt hittem működik .... (Nem tudok az élet rám találjon listája "csapda opciók" elmagyarázza, mi az egyes szám itt lenne?) I kapcsolva, mert az -2 - lehetőség nem ér véget a forgatókönyvet? Ez kiírja az én Feltöltve kód, de nem hozza vissza a gyors, csak folytatja a forgatókönyvet? ---------- Post frissíteni 04:50 ---------- Előző frissítés volt 04:27 ---------- Ok, beszéltem túl hamar. A -2 - lehetőség nem hagyja abba DVgrab (nem kilép a szkript, amikor a Ctrl-c előtt, a pont, amikor a forgatókönyvet DVgrab kezdődik .... Milyen jól van, kivéve, azt is, hogy a funkció fut a visszaszámlálás a Saját forgatókönyvet, és ez a visszaszámlálás folytatódik után a Ctrl-c ... A visszaszámlálás funkció így néz ki: Kód:
function countdown
{
local OLD_IFS="${IFS}"
IFS=":"
local ARR=( $1 )
local SECONDS=$(( (ARR[0] * 60 * 60) + (ARR[1] * 60) + ARR[2] ))
local START=$(date +%s)
local END=$((START + SECONDS))
local CUR=$START
while [[ $CUR -lt $END ]]
do
CUR=$(date +%s)
LEFT=$((END-CUR))
printf "\r%02d:%02d:%02d" \
$((LEFT/3600)) $(( (LEFT/60)%60)) $((LEFT%60))
sleep 1
done
IFS="${OLD_IFS}"
echo " "
}
Köszönöm -Starcast |
|
||||
|
Ok, ezért fordult az agyamat, és alakított ki a megoldás ... Utálom, ha én magam fogás getting lazy itt ...
Mert senkinek a téma, ez mit le kellene Kód:
trap 'CUR=$END sleep 1 echo -e "\E[31;40m\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n+ WARNING - Early Exit + \n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \E[30;47m\n++ Format: $FORMAT ++ Min Remaing on $destination : $minremain \n++ Deck: $deck_number ++ Customer: $customer \n++ Rec Time: $tape_length ++ Tape: $tapename" exit ' 2 És én hozzáadott 'kilépés' a végén, hogy a forgatókönyv nem megölése után folytatódnak a visszaszámlálás funkció -Starcast |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|