Mercurial > hg > config
view bin/example/self-writing.sh @ 324:ae1346f776c3
hopefully finished....we shall see!
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Sat, 08 Jun 2013 08:35:15 -0700 |
parents | b2924a3ae4f3 |
children | bc2d0d504270 |
line wrap: on
line source
#!/bin/bash # illustrate self-writing script (example) # This one does something hard and replaces dynamic data with sed. # Other solutions (magic markers, etc) are possible path=`readlink -f $0` tmp=`tempfile` datestamp=`date` nonce="This script regenerated at " # sanity check if [[ ! -w "${path}" ]] then echo "You don't have write permission for script ${path}" exit 1 fi # avoiding -i for safety sed 's/\(echo \"'"${nonce}"'\).*\"/\1'"${datestamp}"'\"/' ${path} > ${tmp} if [[ ! -e "${tmp}" ]] then echo "Temporary file creation not successful" exit 1 fi # echo last and current generation times for example echo "This script last generated at (None)" echo "Now: ${datestamp}" # move tmpfile -> script location via exec exec mv ${tmp} ${path}