David Stern wrote: > I know this isn't a bash shell script news group, but the fact is I > can't find one. Since bash is the default linux shell, I was hoping news://comp.unix.shell
> someone could answer a few pretty simple questions. > > 1.) How do I insert a newline character in a "double-quoted" string? If you mean "when using bash's built-in echo command", use echo -e "Test\nMoreText" > > 2.) What is a good method to reassign variables interactively? read VAR [snip] > #!/bin/sh You should use '#!/bin/bash' really, because now sh is just a link to bash, but you are not guaranteed that in a future version it will be another shell, or that bash _will_ act more (dumb) Bourne like in the future when called as 'sh' (I for one would appreciate it). > # David's Backup Utility (dbu) v. 0.1 > # David Stern <[EMAIL PROTECTED]> > # Tue Jan 6 15:31:01 PST 1998 > > dbu_list=/root/dbu_list > destination=/backup2 > device=/dev/sdb2 > copymethod=safecopy2 > option=0 > > echo "" ; echo "David's Backup Utility v. 0.1." ; echo "" ; > while [ $option -ne 7 ] Do surround vars in a test in double quotes, to protect the empty string, like in: while [ "$option" -ne 7 ] > do > echo " Select a backup operation " > echo " -------------------------------------------------------- " > echo " 1. Change source list. " > echo " 2. Change backup destination base directory. " > echo " 3. Change backup device. " > echo " 4. Change copy method. " > echo " 5. Format backup destination device. " > echo " 6. Backup selected files to $destination. " > echo " 7. Quit. " > echo " -------------------------------------------------------- " > echo " Source list is $dbu_list " > echo " Destination directory is $destination " > echo " Backup device is $device " > echo " Copy method is $copymethod " > ; echo "" ; ^ I suppose this belongs to the last line? > read option > case $option in > 1) > echo " Change source list." > echo " How do I interactively reassign \$dbu_list ?" ; echo "" ; read dbu_list Or maybe you want to use another var, test its validity and eventually reassign your old one with $SECONDVAR ? > ;; > 2) > echo " Change backup destination base directory." > echo " How do I interactively reassign \$destination ?" ; echo > "" ; > ;; > 3) > echo " Change backup device." > echo " How do I interactively reassign \$device ?" ; echo "" ; > ;; > 4) > echo " Change copy method." > echo " How do I interactively reassign \$copymethod ?" ; echo > "" ; > ;; > 5) > echo " Format backup destination directory." ; echo "" ; > # mke2fs -v $device > ;; > 6) > echo " Backup selected files to $destination ." > for source in `cat $dbu_list` > do > if [ -d $destination$source ] # helper > then > echo " $destination$source exists." > else > echo " $destination$source does not exist." > # mkdir $destination$source > fi > echo " $copymethod $source ... $destination$source" ; echo > "" ; > # $copymethod $source $destination$source > ## echo "" ; echo "ls $source"; echo " ; ls $source ; > done > ;; > esac > done Politically biassed advice: man cpio Cheers, Rob -- Rob S. Wolfram [EMAIL PROTECTED] [EMAIL PROTECTED] W3: http://www.mcs.nl/~rsw http://www.wi.leidenuniv.nl/~rwolfram PGP: 768/07606049 31 09 D2 D7 57 B4 F4 FC CA FC 1F 34 8C BA C8 56 -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .