In general it is usually a good idea to just post the information instead of telling us about it. The reason is: being a newcomer (as per your own admission) you might lack the knowledge of what is vital information and what is not. I hear you but this debug output is very simplistic. I am new to bash but not to software development/script writing. But I will generate and post some output below. The output is filenames - that's it (no errors, no mysterious codes, just names of files, 108 of them) - and I'm throwing them up against cat and cat is not doing anything with them. Show the scripts code (you did that), then run it and copy its output from start to end (ideally along with the return code it produced) here, enclosed in CODEtags, like this:
Here is one more such suggestion: are you sure you want to add always to the file in question? Wouldn't you rather want to start an empty file for every run of the script and then fill the contents of all the other files to this one? Good suggestion but at this moment I am not concerned about it. Once I understand how I am not using cat correctly then I may come back to tweak the process.
If so, supposing outputarray is an array variable containing path names AND there are no special characters (blanks, tabs, ...) in the file names you can do:
${outputarray[*]} will expand to a list of all the array elements and cat takes an (open-ended) list of filenames to process as arguments. There are some restrictions on this and if the array has several hundreds of entries this method might break eventually (the exact point depending on your systems configuration), but for a handful (anything less than hundred for sure) of filenames this works well.
I hope this helps. I definitely appreciate your input and help!
bakunin
[code]
Here is the code ...
I highlighted the code above that is not doing anything as best as I can tell.
Here is the output (I abbreviated it because there are 108 files returned from the locate command)...
The output highlighted above in bold, repeats for every occurrence of LocalConfig.pri (107 more times).
The script terminates without any errors. I execute ls -la and there is no LocalConfigMaster.pri file.
Moderator's Comments:
Please use CODE tags (not QUOTE tags) when displaying sample output.
Last edited by Don Cragun; 01-24-2017 at 12:51 PM..
Reason: Change QUOTE tags to CODE tags.
I tried to cat a file to another user that was logged in, but I received an error message that displayed something like:
%cat funny > /dev/ttyp3
zsh: permission denied: /dev/ttyp3
Thank you all for your help (1 Reply)
The behavior of the following 2 operations is unexpected. K1 and K2 are files here :-
1) cat < K1 K2
The above operation should actually display contents of the both files.
But it gives the contents of K2 only. How is that ?
2) cat > K1 K2
Above operation takes the contents of... (2 Replies)
Hello,
So I sorted my file as I was supposed to:
sort -n -r -k 2 -k 1 file1 | uniq > file2
and when I wrote
> cat file2
in the command line, I got what I was expecting, but in the script itself
...
sort -n -r -k 2 -k 1 averages | uniq > temp
cat file2
It wrote a whole... (21 Replies)
Hello members,
I get an unexpected "end of file" error while trying to execute the following piece of code in the bash / ksh shell. I'm assuming the problem is with using the "execute immediate statement"
#! /bin/bash
tname="table"
for i in *
do
sqlstr="create table $tname$i as select... (3 Replies)
All,
I have a requirement to write a script where I check for Input redirection when the script was executed, based on which I handle my logic. Below is the example:
my.script
#! /bin/ksh
# Not sure how to frame the if condition below
if ; then
echo "Input Redirected from a file"
... (7 Replies)
Hello all,
I have a for loop executing in a script that I want to redirect STDOUT to screen and to file, while directing STDERR to the bit bucket. Here is the general sentax of what I'm doing:
for i in thingy
do
some_command ${i}
done 1>&1 | tee ${LOGFILE} 2> /dev/null
What I am... (2 Replies)
Hi,
#!/bin/bash
while ;
do
rm -f /tmp/pipe
mkfifo /tmp/pipe
./yuv4mpeg_to_v4l2 < /tmp/pipe &
mplayer tom_and_jerry.mp4 -vf scale=480:360 -vo yuv4mpeg:file=/tmp/pipe
sleep 65;
done
When I run this - after mplayer finishes playing video it says - Exiting... (End of... (2 Replies)
Hi,
when I try to redirect input and the command is described as a string within an array redirection does not work. why?
#!/bin/bash
dir=("tail < ./hello.txt")
tail < ./hello.txt #works
${dir} #does not work (2 Replies)