On 2013-07-24 19:44 +0200, Ken Heard wrote: > My amateur's attempt at scripting has come to grief. The script in > question reads as follows: > > #!/bin/sh > # Shell script to create a tgz file for the contents of the > # /usr/local/bin directory. > # Start by creating a variable with the current directory. > CURPWD=$PWD > # Change directory to /. > cd / > # Create a variable for the name of the tgz file. > ULB="$HOSTNAME"usrlocalbin.tgz > # Create the tgz file in the specified directory. > tar -czf /media/zd/$ULB usr/local/bin > # Return to the original directory. > #cd $CURPWD > > In both Lenny and Squeeze the $HOSTNAME value is BDS; the script > consequently created in Lenny the tarball BDSusrlocalbin.tgz located > in a Zip750 disk mounted at /media/zd. (Yes, the disk was properly > mounted.) In Squeeze however the tarball is created but without the > $HOSTNAME added at the beginning of the file name.
This happens because /bin/sh points to dash in squeeze, and dash does not set HOSTNAME because POSIX does not require that.[1] Either use /bin/bash as interpreter or make sure that HOSTNAME is set before using it, e.g. with "HOSTNAME=${HOSTNAME:-$(hostname)}". Cheers, Sven 1. https://bugs.launchpad.net/ubuntu/+source/dash/+bug/64184 -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87mwpb3jqp....@turtle.gmx.de