私はスクリプト "proc backup"を持っています。私は各ディレクトリに許可するか許可しないかという言葉をたくさん持っています。 私は配列とintegradeを考えました。しかし、私は先に進まない...配列は許可されていません
何か簡単ですか?
bind pubm - "*fertig*" backup
proc backup {nick host handle channel text} {
set name[lindex [split [stripcodes bcru $text]] 2]
set dir[lindex [split [stripcodes bcru $text]] 4]
if {[catch {exec sh backup.sh $dir $name} error]} {
putlog $error
}
putnow "PRIVMSG $channel :backup $name done";
}
array set allowed {
"dir1" "to rar"
"dir2" "backupserver1 "
"dir3" "2016 2017"
}
array set not_allowed {
"dir1" "test crap"
"dir2" "old backupserver2 jpg zip"
"dir3" "2015 2014 2013 2012 2011 2010 209 19"
}
編集:IRCから
ライン:(LINDEX 2及び4)
名前でこの言葉があるだけ実行backup.sh
ワード0ワード1 backupserver1ワード3 dir2の
別の単語が
word0 word1 bacの場合はバックアップを実行しない名前にこの言葉が
ワード0ワード1黒ワード3のときのみkupserver55ワード3 dir2の
backup.sh実行しない
ワード0のワード1のテストワード3 DIR1 ワード0ワード1がらくたは
実行backup.shをDIR1 WORD3 dir1
$ nameで許可されたセットの単語があるときにのみ実行します。 $ nameにnot_allowedの単語があるときは実行されません。
あなたは何が起こると思われるかについては何かを書いてください。今、私は 'allowed'と' not_allowed'配列の重要性が本当に何であるか理解していません。 –
例:dir1($ dir)のテキストに($ name) "to"または "rar"(配列セットの許可)が含まれていれば、if {[catch {exec sh backup.sh ....、 dir1($ dir)テキストに($ name) "test"または "crap"(配列セットnot_allowedから)が含まれていれば、停止(return 0)します。と思う –