Mercurial > hg > config
view bin/example/self-writing.sh @ 323:b2924a3ae4f3
fleshing
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Sat, 08 Jun 2013 08:30:37 -0700 |
parents | 19b5bf66ba4e |
children | ae1346f776c3 |
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} # echo last and current generation times for example echo "This script last generated at (None)" echo "Now: ${datestamp}" # move tmpfile -> script location via exec