sed problems - Bash Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed problems - Bash Script
# 1  
Old 04-17-2017
sed problems - Bash Script

Hi
I keep getting the following error

Code:
sed: -e expression #1, char 32: unterminated `s' command
sed: -e expression #1, char 35: unterminated `s' command
sed: -e expression #1, char 35: unterminated `s' command

whenever I use the following bash script

Code:
#! /bin/bash
mailgmail="smtp\.gmail\.com:587"
mailyahoo="smtp\.mail\.yahoo\.com:587"
echo "Email:"
        read emailuse
echo "Password:"
        read emailpass
sed -i "6s/.*/root=$emailuse/" /etc/ssmtp/ssmtp.conf
sed -i "25s/.*/AuthUser=$emailuse/" /etc/ssmtp/ssmtp.conf
sed -i "26s/.*/AuthPass=$emailpass/" /etc/ssmtp/ssmtp.conf
if [[ "$emailuse" == *"gmail"* ]]; then
        sed -i "10s/.*/mail=$mailgmail" /etc/ssmtp/ssmtp.conf
        sed -i "23s/.*/mailhub=$mailgmail" /etc/ssmtp/ssmtp.conf
        sed -i "28s/.*/mailhub=$mailgmail" /etc/ssmtp/ssmtp.conf
elif [[ "$emailuse" == *"yahoo"* ]]; then
        sed -i "10s/.*/mail=$mailyahoo" /etc/ssmtp/ssmtp.conf
        sed -i "23s/.*/mailhub=$mailyahoo" /etc/ssmtp/ssmtp.conf
        sed -i "28s/.*/mailhub=$mailyahoo" /etc/ssmtp/ssmtp.conf
else
        echo "Use another email address with yahoo or gmail"

fi

Thank you


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 04-17-2017 at 07:54 AM.. Reason: Changed ICODE to CODE tags.
# 2  
Old 04-17-2017
Reading the error messages carefully: try terminating each of those sed substitute commands with a slash...

Last edited by RudiC; 04-17-2017 at 04:13 PM.. Reason: typo
# 3  
Old 04-17-2017
The closing / are missing. For example
Code:
    sed -i "
      10s/.*/mail=$mailgmail/
      23s/.*/mailhub=$mailgmail/
      28s/.*/mailhub=$mailgmail/
    " /etc/ssmtp/ssmtp.conf

Multi-statement per one sed is more efficient.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Bash script problems int to binary

Hi, I am trying to do a bash script that convert a decimal number to a binary value, but it doesn't work... To begin, I am just trying to convert a positive number to 8 bits binary. read -p"Entrez un nombre entre -128 et 127 pour l'encoder en binaire: " number binaryValues=(128 64 32 16 8 4 2... (8 Replies)
Discussion started by: Zedki
8 Replies

2. Shell Programming and Scripting

Bash script having variable substitution problems

Hi I am setting the variables like this : setenv MODULE1 modem5__3 setenv MODULE2 modem5__2 setenv MODULE3 modem_ctrl_1_1 setenv MODULE4 modem_1_0 setenv COUNT 10 I am having a bash script as shown below ################################################ #!/bin/bash for ((... (5 Replies)
Discussion started by: kshitij
5 Replies

3. Shell Programming and Scripting

Sed, bash problems migrating from Cray to GNU/Linux

So, I have a series of ASCII files, all named something like mrkxxxxz.tmp (say, mrk1001z.tmp, mrk1002z.tmp, mrk1003z.tmp,...) -- these are .tmp files created by a large simulation program, and each different .tmp file represents a different parameter space used in the simulation). The simulations... (2 Replies)
Discussion started by: johnny_canucl
2 Replies

4. Shell Programming and Scripting

Execution problems with BASH Shell Script

Hi I need help with my coding , first time I'm working with bash . What i must do is check if there is 3 .txt files if there is not 3 of them i must give an error code , if al three is there i must first arrange them in alphabetical order and then take the last word in al 3 of the .txt files... (1 Reply)
Discussion started by: linux newb
1 Replies

5. Shell Programming and Scripting

Execution Problems with bash script

Hello, can someone please help me to fix this script, I have a 2 files, one file has hostname information and second file has console information of the hosts in each line, I have written a script which actually reads each line in hostname file and should grep in the console file and paste the... (8 Replies)
Discussion started by: bobby320
8 Replies

6. Shell Programming and Scripting

Problems editing file with awk in bash script

Hello dear users, here I have a script to manipulate .csv files that are like this originally: And I need to make a script to delete certain fields. Each field is separated with a comma. So, here is my script (at least a part of it): Field $1 is composed of a name, and then a... (5 Replies)
Discussion started by: sr00t
5 Replies

7. UNIX for Dummies Questions & Answers

Problems in shell script if sed is used

Hi All, Below is the script which i have written in cygwin: #!/usr/bin/sh fname=$1 cat $fname | sed 's/ //g' > fname1 for i in `cat $fname1` do echo $i > file1 #param1 is script name param1=`awk -F , '{print $1}' file1` param1="$param1.sql" #param2 is BL param2=`awk -F , '{print... (5 Replies)
Discussion started by: janardhanamk
5 Replies

8. Shell Programming and Scripting

problems with sed and bash. Escaped characters ?

Hi, I'm writing a long script for bash (on RHEL 5.0) to execute many commands. So, my idea is to create a function to deal with error checking and logging (see ceckoutput() below). This works with all commands except for sed. I think it may be a problems with escaped characters. So I did the... (4 Replies)
Discussion started by: macL
4 Replies

9. Shell Programming and Scripting

unzip via bash startup script problems

i have two lines in my rc.local file that are wget -O/<path>/<file>.zip url://domain.com unzip -o /<path>/<file>.zip the wget works fine, but the unzip won't work. when i copy/pase the unzip line to the prompt it works fine. i thought that maybe the unzip was running before the wget... (0 Replies)
Discussion started by: easysnowboards
0 Replies

10. Shell Programming and Scripting

Problems writing bash script to unzip files

I'm getting the following errors when I try to write a script to unzip some zip files. When I use the free trial copy of the commerical winzip program, however, they work fine. When I use -l or -t on unzip it indicates no errors. When I use the -o switch interactively from the bash command line it... (1 Reply)
Discussion started by: siegfried
1 Replies
Login or Register to Ask a Question