bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bash shows an error message about unpaired quotes, but they are paired


From: f . de . kruijf
Subject: bash shows an error message about unpaired quotes, but they are paired
Date: Mon, 26 Mar 2018 21:54:21 +0200 (CEST)

Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' 
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-suse-linux-gnu' 
-DCONF_VENDOR='suse' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
-DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -fmessage-length=0 
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g  
-D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g -Wuninitialized -Wextra -Wno-switch-enum 
-Wno-unused-variable -Wno-unused-parameter -Wno-parentheses -ftree-loop-linear 
-pipe -DBNC382214=0 -DIMPORT_FUNCTIONS_DEF=0 -fprofile-use -fprofile-correction
uname output: Linux eiktum 4.15.10-1-default #1 SMP PREEMPT Thu Mar 15 20:31:17 
UTC 2018 (5e4329c) x86_64 x86_64 x86_64 GNU/Linux
Machine Type: x86_64-suse-linux-gnu

Bash Version: 4.4
Patch Level: 19
Release Status: release

Description:
        I have the following text file cowrie:
--- start of cowrie
#!/bin/sh
sudo -u cowrie /srv/cowrie/bin/cowrie stop > /dev/null
sleep 10
# delete small logs (likely irrelevant) and logs older then a week
find /srv/cowrie/log/tty/ -size -1000c -name '*.log' -delete
find /srv/cowrie/log/tty/ -ctime +7 -name '*.log' -delete
sudo -u cowrie /srv/cowrie/bin/cowrie start > /dev/null
--- end of cowrie
        I have the following bash script aa.sh:
--- start of aa.sh
#!/bin/bash

run () {
   echo "Running: ${*}"
   eval ${*}
   RET=${?}
   if [ ${RET} -ne 0 ] ; then
      echo "EXIT CODE NOT ZERO (${RET})!"
   fi
   return ${RET}
}
cp cowrie cowrietest
run 'sed -i "s/\/etc.*$/systemctl restart cowrie.service/" cowrietest'
run 'sed -i "s/sudo.*cowrie/systemctl/g" cowrietest'
run 'sed -i "s/>.*$/cowrie.service/g" cowrietest'
run 'sed -i "6a\find /srv/cowrie/log/ -mtime +7 -name \'cowrie.*\' -delete" 
cowrietest'
--- end of aa.sh


Repeat-By:
        If I execute the script I get the following on the terminal:
--- start of output
> ./aa.sh 
Running: sed -i "s/\/etc.*$/systemctl restart cowrie.service/" cowrietest
Running: sed -i "s/sudo.*cowrie/systemctl/g" cowrietest
Running: sed -i "s/>.*$/cowrie.service/g" cowrietest
./aa.sh: line 16: unexpected EOF while looking for matching `"'
./aa.sh: line 17: syntax error: unexpected end of file
--- end of output on terminal
Fix:
        [fix for the problem, don't include this section.]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]