[BASH] Using a function to write data to a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [BASH] Using a function to write data to a file
# 8  
Old 04-07-2010
As this looks like an unreproducible error, can you post the result of this command:
Code:
sed -n 224p createVhost.sh | od -c

I suspect an odd unprintable character to confuse the shell.
# 9  
Old 04-07-2010
Looks like syntax on the "here" document.

Code:
cat <<- _EOF_

Should be
Code:
cat <<_EOF_

# 10  
Old 04-07-2010
Quote:
Originally Posted by kshji
It's look that you have not done cut&paste for us. Error is not in those lines ...

Maybe error is pairs " ", ' ', ``, ... end pair is missing ?

I'm with kshji the script most likely has an unmatched quoted pair. The easy way to find this is to download an editor that understands shell script. I use 'jedit' on my pc and copy any scripts I'm having issue with and open them in jedit. The editor will change all the text to PINK between quotes, so if your missing one it is obvious where you need to insert one to correct the issue.
# 11  
Old 04-07-2010
Quote:
Originally Posted by methyl
Looks like syntax on the "here" document.

Code:
cat <<- _EOF_

Should be
Code:
cat <<_EOF_

Why ?
"<<-" is a valid syntax for a here-document although the "-" is unnecessary in that specific sample.
# 12  
Old 04-07-2010
if I might add, both methyl and jlliagre are right-ish on the matter of the syntax...but kshji is most right in suggesting a bum char is gumming up the works...

The "<<- _EOF_" is very much usable (as well as not necessary...), so long as the shell supports it and the whitespace is in fact a space (hex:20). A tab char will not do, and actually causes the function to hang altogether, so an od -c would be most helpful in sorting out the root cause of the failure. Otherwise, manually re-create what you want to happen and then copy/paste it from whatever history file you're logging to...

My .02...

---------- Post updated at 20:39 ---------- Previous update was at 20:38 ----------

actually, it was jlliagre who'd suggested the octal dump...my bad!

---------- Post updated at 20:54 ---------- Previous update was at 20:39 ----------

can't leave well-enough alone...

Code:
$ tail -16 file_test.txt

cat <<- _EOF_
blah...[space]
_EOF_

cat <<- _EOF_
blah...[tab]-less
_EOF_

cat <<- _EOF_
blah...[tab]-more
        _EOF_

cat <<- _EOF_
blah...[space]-tab
        _EOF_

$ tail -16 file_test.txt |od -c
0000000  \r  \n   c   a   t       <   <   -       _   E   O   F   _  \r
0000020  \n   b   l   a   h   .   .   .   [   s   p   a   c   e   ]  \r
0000040  \n   _   E   O   F   _  \r  \n  \r  \n   c   a   t       <   <
0000060   -  \t   _   E   O   F   _  \r  \n   b   l   a   h   .   .   .
0000100   [   t   a   b   ]   -   l   e   s   s  \r  \n   _   E   O   F
0000120   _  \r  \n  \r  \n   c   a   t       <   <   -  \t   _   E   O
0000140   F   _  \r  \n   b   l   a   h   .   .   .   [   t   a   b   ]
0000160   -   m   o   r   e  \r  \n  \t   _   E   O   F   _  \r  \n  \r
0000200  \n   c   a   t       <   <   -       _   E   O   F   _  \r  \n
0000220   b   l   a   h   .   .   .   [   s   p   a   c   e   ]   -   t
0000240   a   b  \r  \n  \t   _   E   O   F   _  \r  \n
0000254

# 13  
Old 04-07-2010
Add the following to your sh script debugging toolkit. It can be extremely useful.
Code:
set -x

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare 2 text file with 1 column in each file and write mismatch data to 3rd file

Hi, I need to compare 2 text files with around 60000 rows and 1 column. I need to compare these and write the mismatch data to 3rd file. File1 - file2 = file3 wc -l file1.txt 58112 wc -l file2.txt 55260 head -5 file1.txt 101214200123 101214700300 101250030067 101214100500... (10 Replies)
Discussion started by: Divya Nochiyil
10 Replies

2. Shell Programming and Scripting

Write out specific data from log to a new file

I got a huge log in zipped files, i need to write out lines by specific data and if the line with the same contains XML message with the same sessionID will be written to the file to. The log structure: 2013-08-16 16:31:06,810 ( 122: rogate) INFO - UId:10453, GId:5422: new... (16 Replies)
Discussion started by: batka
16 Replies

3. Shell Programming and Scripting

Extract data from XML file and write in CSV file

Hi friend i have input as following XML file <?xml version="1.0"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"> <BkToCstmrDbtCdtNtfctn> <GrpHdr><MsgId>LBP-RDJ-TE000000-130042430010001001</MsgId><CreDtTm>2013-01-04T03:21:30</CreDtTm></GrpHdr>... (3 Replies)
Discussion started by: mohan sharma
3 Replies

4. Shell Programming and Scripting

Write over data to new file

hi..i would ask about how to write over data to new file with BASH. so..assume my data looks like this : 11 12 13 14 15 ...and so on. It's always line by line. and that's for the first file. i want to write over those numbers into second file but by using space. so my second file should be... (5 Replies)
Discussion started by: syalala
5 Replies

5. Homework & Coursework Questions

Shell script calling Perl function, sort and find data, write to new files

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I must write a shell script that calls two external Perl functions--one of which sorts the data in a file, and... (6 Replies)
Discussion started by: kowit010
6 Replies

6. UNIX for Dummies Questions & Answers

how to write a function to get data under specific lines ?

I have a text file called (msgz ) contains data : Subscriber Data ID = 2 Customer = 99 Data ID = 4 Customer = cf99 Data ID = 5 Customer = c99 Data ID = 11 Customer = 9n9 Subscriber Data ID = 1 Customer = 9ds9 Data ID = 2 Customer = 9sad9 Data ID = 3 Customer = f99... (3 Replies)
Discussion started by: teefa
3 Replies

7. Shell Programming and Scripting

how to write a function to get data under spesific lines ? using bash

I have a text file called ( bvhz ) contains data : Subscriber Data ID = 2 Customer = 99 Data ID = 4 Customer = cf99 Data ID = 5 Customer = c99 Data ID = 11 Customer = 9n9 Subscriber Data ID = 1 Customer = 9ds9 Data ID = 2 Customer = 9sad9 Data ID = 3 Customer = f99... (1 Reply)
Discussion started by: teefa
1 Replies

8. Programming

How to write data to file in C?

Hi I want to open a file and write data in the following manner. Header String 1 String 2 String 3 String 4 String 5 ... (4 Replies)
Discussion started by: AAKhan
4 Replies

9. Hardware

how to write data into a device file?

Hi, I am working in device drivers. I am new to device drivers. i have invoked chardev.c. the driver is insmoded. now i want to write something into this and i want to look what i have written. but i don't know how to write and see. please help me (0 Replies)
Discussion started by: boidi
0 Replies

10. Shell Programming and Scripting

Extract data from an XML file & write into a CSV file

Hi All, I am having an XML tag like: <detail sim_ser_no_1="898407109001000090" imsi_1="452070001000090"> <security>ADM1=????</security> <security>PIN1=????</security> <security>PIN2=????</security> ... (2 Replies)
Discussion started by: ss_ss
2 Replies
Login or Register to Ask a Question