Difference between revisions of "Opening the file descriptors for reading and writing"
Jump to navigation
Jump to search
(Created page with 'Bash supports the following syntax to open file for both reading and writing on file descriptor: <pre>exec fd<>fileName</pre> * File descriptor 0 is used if fd is not specified. …') |
m |
||
Line 17: | Line 17: | ||
echo "Anger leads to hate. Hate leads to suffering." >&3 | echo "Anger leads to hate. Hate leads to suffering." >&3 | ||
echo "--- Zoda" >&3 | echo "--- Zoda" >&3 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
# close fd # 3 | # close fd # 3 | ||
exec 3>&- </source> | exec 3>&- </source> | ||
[[Category:Redirection]][[Category:Commands]] | [[Category:Redirection]][[Category:Commands]] |
Revision as of 22:45, 19 September 2009
Bash supports the following syntax to open file for both reading and writing on file descriptor:
exec fd<>fileName
- File descriptor 0 is used if fd is not specified.
- If the file does not exist, it is created.
- This syntax is useful to update file.
Example
Create a shell script called fdreadwrite.sh
#!/bin/bash
FILENAME="/tmp/out.txt"
# Opening file descriptors # 3 for reading and writing
# i.e. /tmp/out.txt
exec 3<>$FILENAME
# Write to file
echo "Today is $(date)" >&3
echo "Fear is the path to the dark side. Fear leads to anger. " >&3
echo "Anger leads to hate. Hate leads to suffering." >&3
echo "--- Zoda" >&3
# close fd # 3
exec 3>&-