我已经编写了一个脚本,以便在从文件中读取消息后将消息发送给用户。

i.e. ./sendxms number " TEST MSG" -P AccountID -O ID

除第一个空格后截断的消息外,所有参数都被读取
i.e. ./sendxms 123232 "TEST" -P AccountID -O ID

以下第一个字是我的脚本后消息被截断请帮助
#!/bin/bash
  cd /usr/local/SendXMS
  echo "nohup ./sendxms -q1 -aRECEIVE &"
  cd /var/mk/Ali_Test
  echo enter file name
  read fname
  exec<$fname
  OLD_IFS=$IFS
  count=0
  while read line
   do
       count=`expr $count + 1`;
       IFS=' '
       read var1 var2 <<<"$line"
       #echo "$var1"
       #echo "$line"
       string="\"This is a test message $var2.\""
       cd /usr/local/SendXMS
       ./sendxms +$var1 $string -pSMPP -Otest
       cd /var/mk/Ali_Test
       sleep 1

   done
   IFS=$OLD_IFS
   echo "Total SMS Sent $count";

最佳答案

这是因为您没有在命令行中引用参数:

./sendxms +$var1 $string -pSMPP -Otest

更改为:
./sendxms +"$var1" "$string" -pSMPP -Otest

关于linux - Bash字符串参数空白截断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21783148/

10-12 07:38