annotate bin/example/self-writing.sh @ 321:c64406cdcee1

nearly works
author Jeff Hammel <jhammel@mozilla.com>
date Sat, 08 Jun 2013 08:26:37 -0700
parents 5a0009051b13
children 19b5bf66ba4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
320
5a0009051b13 stub for self-writing script
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/bin/bash
5a0009051b13 stub for self-writing script
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
5a0009051b13 stub for self-writing script
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 # illustrate self-writing script (example)
321
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
4 # This one does something hard and replaces dynamic data with sed.
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
5 # Other solutions (magic markers, etc) are possible
320
5a0009051b13 stub for self-writing script
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
321
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
7 path=`readlink -f $0`
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
8 tmp=`tempfile`
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
9 datestamp=`date`
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
10 nonce="This script regenerated at "
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
11
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
12 # avoiding -i for safety
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
13 sed 's/\(echo \"'"${nonce}"'\).*\"/\1'"${datestamp}"'\"/' ${path} > ${tmp}
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
14
c64406cdcee1 nearly works
Jeff Hammel <jhammel@mozilla.com>
parents: 320
diff changeset
15 echo "This script regenerated at "