bash - What's the meaning of these shell scripts? -
can explain me what's meaning of these shell scripts?
# ......... tmpfile=`tmpfile 2>/dev/null` || tmpfile=/tmp/test$$ trap "rm -f $tmpfile" 0 1 2 5 15 # .........   and also, following two, 1 better?
tmpfile=`tmpfile 2>/dev/null` tmpfile=$(tmpfile 2>/dev/null)   i use trap command , || operator, have looked manual, still have no idea.
this line creates temporary file. if tmpfile fails, errorlevel code passed subshell in subshell forwards calling shell. if code nonzero, default file /tmp/test$$ used instead (|| tmpfile=/tmp/test$$). $$ process id number of shell holds it.
tmpfile=`tmpfile 2>/dev/null` || tmpfile=/tmp/test$$   this 1 creates trap shell calls rm -f $tmpfile when signals 0, 1, 2, 5 , 15 received. see kill -l list.
trap "rm -f $tmpfile" 0 1 2 5 15   using $() on pair of backquotes preferred in posix systems. use on them. $() allows recursion difficult (requires recursive quoting) pair of backquotes.
tmpfile=`tmpfile 2>/dev/null` tmpfile=$(tmpfile 2>/dev/null)      
Comments
Post a Comment