view bin/example/self-writing.sh @ 322:19b5bf66ba4e

example
author Jeff Hammel <jhammel@mozilla.com>
date Sat, 08 Jun 2013 08:28:13 -0700
parents c64406cdcee1
children b2924a3ae4f3
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 "

# 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}"