Bash Converts a specified input file to uppercase
Bash
Download (.zip)
#!/bin/bash # upperconv.sh # Converts a specified input file to uppercase.
E_FILE_ACCESS=70 E_WRONG_ARGS=71
if [ ! -r "$1" ] # Is specified input file readable? then echo "Can't read from input file!" echo "Usage: $0 input-file output-file" exit $E_FILE_ACCESS fi # Will exit with same error #+ even if input file ($1) not specified.
if [ -z "$2" ] then echo "Need to specify output file." echo "Usage: $0 input-file output-file" exit $E_WRONG_ARGS fi
exec 4<&0 exec < $1 # Will read from input file.
exec 7>&1 exec > $2 # Will write to output file. # Assumes output file writable (add check?).
# ----------------------------------------------- cat - | tr a-z A-Z # Uppercase conversion. # ^^^^^ # Reads from stdin. # ^^^^^^^^^^ # Writes to stdout. # However, both stdin and stdout were redirected. # -----------------------------------------------
exec 1>&7 7>&- # Restore stout. exec 0<&4 4<&- # Restore stdin.
# After restoration, the following line prints to stdout as expected. echo "File \"$1\" written to \"$2\" as uppercase conversion."
exit 0
|