Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6924565
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T10:40:45+00:00 2026-05-27T10:40:45+00:00

My understanding was that one could not control the file descriptor (integer) assigned by

  • 0

My understanding was that one could not control the file descriptor (integer) assigned by the OS when opening a new file using open(). How then is it possible in a bash shell to assign a specific file descriptor using a command like

exec 5>&1

(I suppose I could find out by reading the bash sources…)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T10:40:45+00:00Added an answer on May 27, 2026 at 10:40 am

    I believe you are right that sometimes file descriptors may already be in use. I got this from http://tldp.org/LDP/abs/html/io-redirection.html#FTN.AEN17716

    “Using file descriptor 5 might cause problems. When Bash creates a child process, as with exec, the child inherits fd 5 (see Chet Ramey’s archived e-mail, SUBJECT: RE: File descriptor 5 is held open). Best leave this particular fd alone.”

    The solutiont to this is specified in section 3.6 paragraph 2 of the bash manual.

    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 10 and assign it to {varname}. If >&- or <&- is preceded by {varname}, the value of varname defines the file descriptor to close.

    For example

    #!/bin/bash
    
    exec {NEW_STDOUT}>&1
    echo "Hello" >&$NEW_STDOUT
    exec {NEW_STDOUT}>&-
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

It is to my understanding that one should use a forward-class declaration in the
I have a solid understanding of most OOP theory but the one thing that
It's my understanding that nulls are not indexable in DB2, so assuming we have
It's my understanding that StackOverflow (SO) was built using ASP.NET. What surprised me is
It is my understanding that the java.regex package does not have support for named
When using TempData, my understanding is that it will keep whatever you put in
Understanding that I should probably just dig into the source to come up with
It's my understanding that common wisdom says to only use exceptions for truly exceptional
It is my understanding that I can test that a method call will occur
It is my understanding that the default behavior when creating a table in SQL

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.