【问题标题】:Bash String parameter white space truncationBash 字符串参数空格截断
【发布时间】:2014-02-15 03:59:43
【问题描述】:

我编写了一个脚本,用于在从文件中读取消息后向用户发送消息。

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";

【问题讨论】:

  • 我什至看不到这个脚本在哪里使用它的命令行参数; e在哪里。 G。 $1?
  • 我没有使用命令行参数

标签: linux bash shell


【解决方案1】:

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

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

将其更改为:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多