Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash字符串参数空白截断_Linux_Bash_Shell - Fatal编程技术网

Linux Bash字符串参数空白截断

Linux Bash字符串参数空白截断,linux,bash,shell,Linux,Bash,Shell,我已经编写了一个脚本,在从文件中读取消息后向用户发送消息 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 -aRECE

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

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";
#/bin/bash
cd/usr/local/SendXMS
echo“nohup./sendxms-q1-aRECEIVE&”
cd/var/mk/Ali_试验
输入文件名
读fname

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

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

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

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

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

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

我甚至不知道这个脚本在哪里使用它的命令行参数;e在哪里。g<代码>$1
?我没有使用命令行参数我甚至不知道这个脚本在哪里使用它的命令行参数;e在哪里。g<代码>$1?我没有使用命令行参数