Note that that will only go through the loop once.
True. I've just tried to stay as close as possible to OP's idea.
Quote:
set -- $returnedvalues
echo $1
echo $2
...
From $10 on, it starts to produce wrong output and more than 10 values are quite realistic here.
Although, this can be circumvented by using curly brackets, eg.
True. I've just tried to stay as close as possible to OP's idea.
I see, OK. I highlighted it because the OP's loop idea wasn't working. Because the variable reference "${returnedvalues}" is used quoted, the echo will produce multiline output. So it would need to be an unquoted variable reference ${returnedvalues} with a single read. A while loop would have not function.
And it is masking an underlying problem.
Supposed if he had catered for multiline output, for example:
He would not be able use all the array values inside the loop since they are only all set until after the last iteration.
He could not use the values after the loop either, since they will be gone after the while loop, as - in bash - that part is run in a subshell.
With curly braces he could retain those values
In short, a while loop had no function there, other than to act as curly braces, and that only happens to work if there is a single read. So the while loop is used, but it is not really used as one, which makes the code harder to read and understand IMO.
Quote:
From $10 on, it starts to produce wrong output and more than 10 values are quite realistic here.
Although, this can be circumvented by using curly brackets, eg.
Yes correct, from 10 on you need to use the curly braces..
Last edited by Scrutinizer; 12-01-2014 at 12:48 AM..
so i've been used to doing it this way:
SVAL=$(echo "7 3 2 38 3" | awk '{print $2}')
4VAL=$(echo "4:21:N:3" | awk -F":" '{print $4}')
I know there's a way to do it by putting the value in an array and assigning it that way. but i'm not sure how to do it efficiently. any ideas? i dont... (9 Replies)
I have a file containing multiple values, some of them are pipe separated which are to be read as separate values and some of them are single value all are these need to store in variables.
I need to read this file which is an input to my script
Config.txt
file name, first path, second... (7 Replies)
I am trying to read a input file which has two columns separated by space
Input file
server1 server2
server3 server4
server5 server6
When i execute the below while code it reads line by line and a and b variables are able to successfully fetch the values
while read a b
do
echo "$a"
echo... (5 Replies)
Hi,
I have requirement to assign values to variables which are created dynamically.
Below is the code which i am using to achieve above requirement.
#!/bin/ksh
oIFS="$IFS"; IFS=','
STR_FAIL_PARENT_IF_FAILS="WF_F_P_IF_FAILS1,WF_F_P_IF_FAILS2,WF_F_P_IF_FAILS3"
set -A... (1 Reply)
For example, I have a file with below lines containing VOB tags and VOB paths.
* /vobs/fts/FTSUSM20_VOB /ccvobsslx01/projects/vobs/eml/FTSUSM20_VOB
* /vobs/fts/FTS20_VOB /ccvobsslx01/projects/vobs/eml/FTS20_VOB
* /vobs/pmv/PMS_VOB /ccvobsslx01/projects/vobs/cpm/_/PMS_VOB
*... (4 Replies)
Hi,
I have a file like the following...
CUST=
DIR=
NULIST=
name=philps_123
How can i add values to each of these unassigned variables using a shell script?
say for eg: i have values for CUST as onida, dir as /dir/onida, NULIST as /tmp/onida_files. How can i add these values to... (11 Replies)
The text file has one single row and looks like this
Q1 P1 2006
I have to pick up this values from a shell script into three different variables,
say quarter, period and year from the above text file. Some one know's how to do this? I went through 'sed', dint really know how to... (3 Replies)
Hello,
I have a cat.dat file, i would like shell to read each 3 lines and set this 3 lines to 3 different variables.
my cat.dat is:
11
12
+380486461001
12
13
+380486461002
13
14
+380486461003
i want shell to make a loop and assign 1st line to student_id, 2nd line to... (4 Replies)
hey people..
i have a configuration file that looks like
7080 7988
net04.xxxxx.edu
20
where 20 is the number of threads in the thread pool initially.
net04.xxxxx.edu is the hostname.
and 7080 7988
are two ports. first one for client requests and second one for dns communication. now my... (2 Replies)