Visit The New, Modern Unix Linux Community


Double forloop?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Double forloop?
# 8  
FD is the abbreviation for file descriptor. fd 0 is stdin, fd 1 is stdout, fd2 is stderr. Others are unused by default. So Corona688 uses fd 5 and 6 to open the files, and then redirects the tworeads' stdin to there.
Read e.g. man bash: redirection.
Try - if available - lsof -p$$ to see the open files and fds

Last edited by RudiC; 01-20-2015 at 12:47 PM..
This User Gave Thanks to RudiC For This Post:
# 9  
lol.. and thank you.
For fun i ran lsof on the pid of xorg - because i though bash would be too boring, but now figured i used a /usr/lib64/libdrm_radeon.so.1.0.1 while having a nvidia gpu.

Anyway, it sounds like the numbers of FD could be 'infite' (as in: integer max), but on the other hand, in the use(d range) example here, its always FD numbers less or equal than the available VT's.

So my question is, what is the max number of adress-able file descriptors?
6/7 of which the first two or three are reserverd, or more like 32K'ish?
# 10  
Without having analyzed the sources: I've seen them up to 255, and in real use up to 74.
This User Gave Thanks to RudiC For This Post:
# 11  
Quote:
Originally Posted by Corona688
Code:
# Open file into FD 5
exec 5<file1
# Open file into FD 6
exec 6<file2

# Read from both files
while read -r LINE <&5 && read -r LINE2 <&6
do
        echo "Line1 is $LINE1"
        echo "Line2 is $LINE2"
done

# Close FD 5
exec 5<&-
# Close FD 6
exec 6<&-

This can be further improved if we knew what you were reading -- if you had tokens you needed split etc.
$LINE1 might always be NULL, but $LINE might be valid... <wink>

And thanks, you have shown me how to close a file descriptor...
This User Gave Thanks to wisecracker For This Post:
# 12  
Quote:
Originally Posted by RudiC
Without having analyzed the sources: I've seen them up to 255, and in real use up to 74.

man bash:
"Redirections using file descriptors greater than 9 should be used with care, as they may conflict with file descriptors the shell uses internally."
This User Gave Thanks to cfajohnson For This Post:
# 13  
To avoid those conficts, you could use a variable name whose value would be assigned by the shell (man bash):
Quote:
Each redirection that may be preceded by a file descriptor number may instead be preceded by a word of the form {varname}. In this
case, for each redirection operator except >&- and <&-, the shell will allocate a file descriptor greater than or equal to 10 and
assign it to varname. If >&- or <&- is preceded by {varname}, the value of varname defines the file descriptor to close.
# 14  
Furthermore, additional restrictions may apply when using the KornShell: the coprocess facility uses FD 4 and 5 per default to handle the inter-process communication.

I hope this helps.

bakunin

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #93
Difficulty: Easy
The mkdir command will create a new directory even if the user does not have the required permissions to write to the parent directory of the new directory.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Executing statements inside forloop parallely

Hi All, I have made a forloop as given below. if ]; then echo -e "serv_AAA_DS.ldif file created and will be splitted into 8 smaller files for ldapadd \n" sh ./file_splitter.sh for (( w=1; w <= 8; ++w )) do nohup ldapadd -x -c -h PL0 -p 389 -D "$LDAP_USER" -w... (8 Replies)
Discussion started by: Kamesh G
8 Replies

2. Shell Programming and Scripting

Replace Double quotes within double quotes in a column with space while loading a CSV file

Hi All, I'm unable to load the data using sql loader where there are double quotes within the double quotes As these are optionally enclosed by double quotes. Sample Data : "221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television - 22" Refurbished - Airwave","Supply... (6 Replies)
Discussion started by: mlavanya
6 Replies

3. Shell Programming and Scripting

Replacing Double Quote in Double Quote incsv file

Hi All , We have source data file as csv file and since data could contain commas ,each attribute is quoted into double quotes.However problem is that some of the attributa data also contain double quotes which is converted to double double quote while creating csv file XLs data : ... (2 Replies)
Discussion started by: Shalini Badal
2 Replies

4. Shell Programming and Scripting

What does a double $ represents?

Hi Team, I have the following statement in my script "chgrp dw $$DSSDATW5/W5DW_RUNNING.out" Which throws the error "chgrp: 50528606DSSDATW5/W5DW_RUNNING.out: No such file or directory" Can you please let me know what does this $$ refers to (2 Replies)
Discussion started by: Agent154
2 Replies

5. Shell Programming and Scripting

Replace double quotes with a single quote within a double quoted string

Hi Froum. I have tried in vain to find a solution for this problem - I'm trying to replace any double quotes within a quoted string with a single quote, leaving everything else as is. I have the following data: Before: ... (32 Replies)
Discussion started by: pchang
32 Replies

6. UNIX for Dummies Questions & Answers

double while

file1 contents: jandoe1 johndoe1 file2 contents: jandoe johndoe my output file names file3, and has contents as: This is jandoe1 my script: cat file1 | while read line1 cat file2 | while read line2 do do sed -e 's/${line1}/${line2}/g' file3 > file3 done done (5 Replies)
Discussion started by: lawsongeek
5 Replies

7. Shell Programming and Scripting

Replace double double quotes using AWK/SED

Hi, I have data as "01/22/97-"aaaaaaaaaaaaaaaaa""aaa""aabbbbbbbbcccccc""zbcd""dddddddddeeeeeeeeefffffff" I want to remove only the Consequitive double quotes and not the one which occurs single. My O/P must be ... (2 Replies)
Discussion started by: Bhuvaneswari
2 Replies

8. Shell Programming and Scripting

double-quote inside double-quote

hey all, i made a simple .sh like this: echo "<style media="screen" type="text/css">@import url("main.css");</style>" but the output is: <style media=screen type=text/css>@import url(main.css);</style> i want to keep double-quotes, can anyone help me? thanks (3 Replies)
Discussion started by: indraf
3 Replies

9. Programming

double pow (double x, double y) -- problems

This is the code and I'm wondering why line 14: a = ... and line 16: b = ... is wrong. This is the first time I've tried to use this. Please help me. #include <stdio.h> #include <math.h> // The link and how the double pow is used. // // http://www.nextdawn.nl/c-reference/pow.php //... (2 Replies)
Discussion started by: pwanda
2 Replies

10. Shell Programming and Scripting

double substitution

Hello, I would like to dual subtitutes variables. I tried $serv="combo" combo_TYPE="mop" TYPENAME="$serv_TYPE" Now, I'd like to get "mop" from TYPENAME echo "${${TYPENAME}}" I have a bad substitution error :) (1 Reply)
Discussion started by: pppswing
1 Replies

Featured Tech Videos