for x in `cat something` is basically always wrong because of the problem you have discovered among others. You could be doing a while read line ; do ... done < inputfile loop.
If your input file is of the form VAR=VALUE, you can do this:
Which means that, if someone puts `rm -Rf ~/` in your configuration file, it will store that strong instead of running that string like eval would!
@Robin:
the here document is a trick to feed variables to read in a safe manner. The here document is pre-processed by the shell (and usually stored in a temp file) then opened as a stream. While processing the here document a `command` is executed and a $var is substituted, but not the contents of $var.
BTW the processing can be restricted by putting the EOF marker in quotes: <<"EOF" or <<'EOF', then the here document is treated as a quoted string.
I am not convinced that one cannot use the evil eval here.
Last edited by MadeInGermany; 11-15-2013 at 02:08 PM..
I am testing a ksh script for email. In the script I receive several parameters. One of them is a subject. The subject may contain spaces. Ex. Test this. When I am running the script on telnet to test, how should the syntax at the command line be written. I have this:
ksh ResendE.sh '001111'... (2 Replies)
Hi,
I am a beginner in shell scripting. I have written the following script, which is supposed to process the while loop for each line in the sid_home.txt file. But I'm getting the 'end of file' unexpected for the last line. The file sid_home.txt gets generated as expected, but the script... (6 Replies)
Hi Sorry to multipost. I am opening the new thread because the earlier threads head was misleading to my current doubt.
and i am stuck.
list=`cat /u/Test/programs`;
psg "ServTest" | awk -v listawk=$list '{
cmd_name=($5 ~ /^/)? $9:$8
for(pgmname in listawk)
... (6 Replies)
Hi,
I am trying to replace a specific column values in a csv file with double quotes when I am find embedded spaces with in the fields.
Example:
SNO,NAME,ZIPCODE,RANK,SEX,ADDRESS
1,Robert,74538,12,34, M,Robert Street, NY
2,Sam,07564,13,M,12 Main Ave, CA
3,Kim, Ed,12345,14,M,123D ,... (1 Reply)
Hi
I'm trying to ensure that I have catered for all situations with my getopt cases.
One other situation I want to cover is should the user enter the script without any preceding arguments eg:
./script_eg
I need the script to the direct the user to the helpfile
I have tried... (3 Replies)
Hi everyone,
I have been a big fan here since a couple years (since I started being an admin ...) and finally decided to become a member and help ppl and perhaps being helped
Now I have a problem that might interest some of the gurus.
I am abig fan of what I call "one liners". I am trying... (2 Replies)
Hi, all
I have a file containing the following data:
name: PRODUCT_1
date: 2010-01-07
really_long_name: PRODUCT_ABCDEFG
I want to get the date (it is "2010-01-07" here), I could use the following code to do that:
awk... (6 Replies)
NOTE: I am using BASH and Solaris 10 for this.
Currently in the process of building a script that has a main "watcher" daemon that reads a configuration file and starts background processes based on it's global configuration. It is basically an infinite loop of configuration reading. Some of the... (4 Replies)
Hey, not too good at this, so I only managed a clumsy and SLOW solution to my problem that needs a drastic speed up. Any ideas how I write the following in awk only?
Code is supposed to do...
For every line read column values $6, $7, $8 and do a calculation with the same column values of every... (6 Replies)
I'm trying to handle some files with spaces in their name using "" or \ . Like "file 1" or file\ 1.
My current confusion can be expressed by the following shell script:
#!/bin/bash
touch "file 1" "file 2"
echo -n "ls: " ; ls
echo ---
for file in "file 1" "file 2" ; do
echo $file... (9 Replies)