⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsevent

📁 GSM猫管理程序
💻
字号:
#!/bin/sh# This is an example how to use an eventhandler with smsd.# $1 is the type of the event wich can be SENT, RECEIVED, FAILED or REPORT.# $2 is the filename of the sms.# $3 is the message id. Only used for SENT messages with status report.#The next line changes the file attributes so that everybody can read#received SM#if [ "$1" = "RECEIVED" ]; then#  chmod a+r $2#fi#This sends all received SM to an eMail receiver:#if [ "$1" = "RECEIVED" ]; then#  /usr/sbin/sendmail username@localhost <$2#fi#This sends all received SM to eMail receiver. The recipient address #must be the first word of the SM.#if [ "$1" = "RECEIVED" ]; then#  receiver=`cat $2 | grep '^.*@.*' | sed -n 1p | cut -f1 -d' '`#  if [ $receiver ]; then#    /usr/sbin/sendmail $receiver < $2#  fi#fi#This forwards all received SM to another mobile phone:#if [ "$1" = "RECEIVED" ]; then#  FROM=`formail -zx From: <$2`#  formail -f -I "To: 491721234567" <$2 >$2.forward#  echo "from $FROM" >> $2.forward#  mv $2.forward /var/spool/sms/outgoing#fi#The following code concatenates multipart text messagesif [ "$1" = "RECEIVED" ]; then  if grep "UDH-DATA: 05 00 03" $2 >/dev/null; then    if grep "Alphabet: ISO" $2 >/dev/null || grep "Alphabet: GSM" $2 >/dev/null; then      # This is a multipart text message      FROM=`formail -zx From: <$2`      UDHDATA=`formail -zx UDH-DATA: <$2`      # Extract information from UDH using awk to convert hex to dec      MSGID=`echo "$UDHDATA" | awk '{printf "%d",strtonum("0x"$4)}'`      PARTS=`echo "$UDHDATA" | awk '{printf "%d",strtonum("0x"$5)}'`      PART=`echo "$UDHDATA" | awk '{printf "%d",strtonum("0x"$6)}'`      # Rename the file      mv $2 "$FROM.$MSGID.$PART"      # Check if all parts have been received      received=`ls -1 "$FROM.$MSGID.*" | wc -l`      if [ "$PARTS" -eq "$received" ]; then        # Concatenate all parts        # copy header from last part into a new file        formail -X "" <$FROM.$MSGID.$PART >$2.concatenated        echo "" >>$2.concatenated        # add the text of each part        counter=1        while [ "$counter" -le "$PARTS" ]; do          sed -e '1,/^$/ d' <$FROM.$MSGID.$counter >>$2.concatenated          rm $FROM.$MSGID.$counter          counter=`expr $counter + 1`        done      fi    fi  fifi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -