Opening the file descriptors for reading and writing
Jump to navigation Jump to search
Revision as of 22:32, 19 September 2009 by Admin (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. …')
Bash supports the following syntax to open file for both reading and writing on file descriptor:
- 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.
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 # Read the same file using while loop while IFS= read -u 3 -r line do echo $line done # close fd # 3 exec 3>&-