![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 【 C 】 fgets問題でSIGINT singlal ! | hurricane86 | 高レベルのプログラミング | 1 | 2009年1月2日 12:04午後 |
| bashの変数を渡すからbashスクリプトからperlのに | arsidh | シェルプログラミングとスクリプティング | 10 | 2008年6月4日 01:25午後 |
| ハンドリングに問題SIGINT | JamesGoh | 高レベルのプログラミング | 3 | 2008年2月24日 10:39午後 |
| 休憩中のシリアルSIGINTをキャッチできない状態が発生することはできます | gzz | 高レベルのプログラミング | 13 | 2007年11月23日 08:06午前 |
| AIXのシステムコールを傍受する | ramkumar.pvs | AIX | 2 | 2006年9月29日 03:17午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
bashスクリプトではどうSIGINT
私は、ビデオのキャプチャは、 bashスクリプトDVgrabと書いてきた。テープは、時には私DVgrabに設定した時間をデジタル化する前に、キャプチャを終了したいの性質があるためです。この私の場合、 Ctrlキーを押しているきれいDVgrab - cと、私の問題ですが、追加情報は、スクリプトを実行するまでの時間を設定'には、ターミナル内のスクリプトをプリントエコー'が終了します。私はCtrlキーを押しながら、この情報を印刷するときのCなし...
ある方法を傍受のSIGINTです(私はこの私が欲しいものだと思うが、私は間違っていること)と全く同じように、デフォルトではありませんが、動作を追加し、端末にはいくつかのvariblesエコーはありますか? できれば私だけでこれを行うスクリプトをしたいと思います... Ctrlキーを押しながら、 C言語の関数をシステム全体に影響を与えない。 場合は、問題は、必ず事前に私が私の読書この記事をベースにした自信はありませんでしたが、私のマシンはUbuntu ( 8.10 ) Linux上ではGNOMEの仮想端末でこのスクリプトを実行する のビットをするCtrl - cを押しているときに追加してこのようになります: コード:
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 |
|
||||
|
私はこのような感じになった、しかし私は、感謝を得るために必要だった。
コード:
#!/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 |
|
||||
|
はい、私は....を参照してください私のすぐ後は、完全に割り当てられた時間を走り、 2時間のテープが正常に終了すると私の警告をpoped完成...
私は- -0 -だけを推測すると私は考えて仕事をしていた.... -2変更私の人生(私はできない'トラップオプション]をクリックすると説明し、各コードはここに何が? )私はこれは、切り替え-2 -オプションは、スクリプトの終わりではないの一覧を見つけるか?これは私の挿入コードの印刷には、プロンプトは、スクリプトを続けて復活させるだけではないのですか? 04:50 PMにポストを更新---------- ----------前の04:27 PMに更新されました---------- [ OK ]を、私もすぐに話を聞いた。は、 -2 -オプションDVgrab停止は(前に、スクリプトのポイントDVgrab起動時以外は有効ですが....どのようにCtrl - cを、私はまた、カウントダウンを実行する機能を持っているのは、スクリプトを終了していません私のスクリプトは、この後のカウントダウンするCtrl - cを...のカウントダウン機能をこのようになります:継続 コード:
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 " "
}
ありがとう - Starcast |
|
||||
|
そう、じゃあ私は私の脳に、私の解決策を考え出した...怠け者の私は、自分自身、ここに乗るキャッチは大嫌いだった...
次のスレッドの人は、この私は何が必要な説明は コード:
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 と私は' 'を最後にして、スクリプトでは、カウントダウン機能を殺害後にはしなかった出口追加 - Starcast |